적당한 고통은 희열이다

- 댄 브라운 '다빈치 코드' 중에서

반응형

분류 전체보기 568

[실전] Swift Add toggle button using UIButton() 버튼 만들기

UIButton() 이용하여 토글 버튼 만들기 나는 UIButton() 속성을 가지고 있는 MaterialComponents의 MDCFloatingButton()을 이용해서 버튼을 만들어보았다. 버튼 object 생성하기 1. MaterialComponents.MaterialButtons import 해주기 (그냥 UIButton() 속성 사용 시 생략 가능) 2. MDCFloatingButton() 속성을 가진 버튼 object 만들어주기 화면에 버튼 띄우기 3. setupViews() 함수에서 a) 버튼을 subview에 넣어주고 b) .translatesAutoresizingMaskIntoConstraints = false, .sizeToFit() 을 통해 버튼의 크기 및 위치를 직접 조정할 수 있..

[Swift 실전] Adding Multiple text lines in CollectionViewCell using UIView 컬렉션 뷰 셀 안에 UIView로 속성 추가

UICollectionViewCell 속성이 내장되어있는 새로운 Swift File을 생성한다. MaterialComponents에 내장되어있는 기능들을 추가로 확장하여 사용하기 위해 MDCCardCollectionCell 속성을 이용하는 클라스를 생성한다. import Foundation import UIKit import MaterialComponents.MDCCardCollectionCell class AssetCell: MDCCardCollectionCell { // 변수들 자료형 선언 override init(frame: CGRect) { super.init(frame: frame) // 변수들의 속성 선언 setupSubViews() addConstraints() } required init?..

[실전] Swift Adding ActivityIndicator 로딩화면 띄우기

Activity Indicator 추가 및 사용법 from material-components-github 컬렉션뷰에서 셀 터치 후 Storage로부터 파일을 다운받는동안 AcivityIndicator 돌아가게 만들기. 1. pod file에 pod 'MaterialComponents' 설치 후 import해주기 import MaterialComponents.MaterialActivityIndicator 2. 컬렉션 뷰 컨트롤러 클라스에서 새로운 uiview instance와 activityIndicator 생성해주기 let overlayView = UIView() let activityIndicator = MDCActivityIndicator() 3. setupView() 에서 overlayView 및..

[Swift] Multiple asynchronous tasks 비동기로 여러 파일 다운로드 실행하기

Firebase Storage에서 폴더 리스트를 받아온 컬렉션 뷰에서 해당 셀을 터치하면 해당 폴더 내 파일들의 리스트를 받아와 각 파일의 경로(StorageReference)를 리스트[]로 저장하고 DispatchGroup()을 통해 각 파일들을 비동기 다운로드하여 localURL에 저장하고, 파일들이 다 다운이 되었을 때 UINavigationController를 사용하여 새 화면으로 넘어가는 코드를 구현해보았다. override func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) { print(files[indexPath.item]) let listRef = ref.child(file..

기억장치와 메모리 계층구조

저장장치의 두 가지 요건 - 단위 시간당 데이터 처리량 (throughput) = 입출력 속력 - 용량 (capacity) = 저장장치에 담을 수 있는 정보의 총량 메모리 계층 구조 빠른 저장 장치는 용량에 비해 가격이 비싸고, 용량이 넉넉한 저장 장치는 싸지만 처리 속도가 느리다. 컴퓨터가 행하는 작업은 매우 다양하기 때문에 빠른 속도가 필요한 상황도 있지만, 단순히 많은 내용을 천천히 읽고 쓰는 작업도 많다. 이러한 상황에 맞게 여러 종류의 저장 장치를 함께 사용해 최적의 효율을 낼 수 있도록 하여 싸고 성능 좋은 시스템을 구현하는 설계가 메모리 계층 구조이다. CPU에 가까운 순서대로 레지스터 - 캐시 - 메모리 - 보조기억장치 (일반적으로 CPU와 직접 접근이 가능한 레지스터, 캐시, 메모리를 주..

컴퓨터시스템 2020.12.30

[실전] Firebase Storage 활용한 Test App 구현

다운받은 MaterialComponent kit를 활용하여 테스트 어플리케이션을 구현해보고자 한다. 나는 MDCDragon 내 CollectionsSimpleSwiftDemo 파일을 활용하여 프로젝트의 코어 시스템을 구현해보겠다. 아래 CollectionView를 활용한 데모 코드를 복사해와 Firebase 항목들을 추가해나가겠다. import UIKit import MaterialComponents.MaterialCollections class CollectionsSimpleSwiftDemo: MDCCollectionViewController { let reusableIdentifierItem = "itemCellIdentifier" let colors = [ "red", "blue", "green",..

[실전] Swift Material components iOS 로 UI 가져오기

https://github.com/material-components/material-components-ios material-components/material-components-ios Modular and customizable Material Design UI components for iOS - material-components/material-components-ios github.com UI를 코드로 직접 다 구현하지 않고, material components kit를 받아와서 사용할 수 있다. Wow! 1. Terminal에서 git clone 하는 법 % git clone https://github.com/material-components/material-components-ios ..

[Swift iOS] UIGestureRecognizer 터치 이벤트 제어하기

● UIGestureRecognizer Swift 에서 터치 이벤트를 구현해주는 아주 편리한 헬퍼 클라스!! UIGestureRecognizer 의 subclass 들에는 아래 항목들이 있다. - UITapGestureRecognizer - UIPinchGestureRecognizer - UIRotationGestureRecognizer - UISwipeGestureRecognizer - UIPanGestureRecognizer - UIScreenEdgePanGestureRecognizer - UILongPressGestureRecognizer 1. UITapGestureRecognizer 터치 이벤트 함수는 다음과 같이 작성할 수 있다. @objc func handleTap(sender: UITapGe..

[Swift 용어] Value Type / Reference Type

컴퓨터 프로그래밍을 할 때, 데이터 타입에는 Value Type(값 유형), Reference Type(참조 유형)의 두 가지 종류가 있다. ● Value Type (값 유형) - value type의 instance들은 값이 복사되었을 때, 다른 instance의 값이 변경되어도 원본은 고유의 데이터를 유지한다. (독립적) - swift에서 value type에는 struct, enum, tuple 등이 있다. - 값 복사 시 독립 인스턴스 생성. ● Reference Type (참조 유형) - reference type의 instance들은 데이터의 사본을 '공유'하기 때문에, 데이터가 수정될 경우 원본 값도 함께 바뀐다. - swift에서 reference type에는 class, closure 등..

6. Swift SceneKit Tutorial _3D 게임 만들기

SceneKit Tutorial 1 - Getting Started SceneKit Tutorial 2 - Nodes SceneKit Tutorial 3 - Physics SceneKit Tutorial 4 - Render Loop SceneKit Tutorial 5 - Particle Systems * 현재 진행중인 프로젝트에서는 Physics와 Particle은 필요하지 않아, 필자는 튜토리얼 1, 2, 4 만 참고를 하였다. SceneKit : Apple의 내장 3D 게임 프레임 워크 Geometry Fighter 게임을 만들어보며 SceneKit를 활용한 3D 그래픽 제어를 공부해보자! 1. 초기화 작업 2. Nodes 노드란? 3. Geometry 개체 만들기 4. Rend..

728x90
반응형