Neph's Blog

「Neph의 iOS 공부일지」

UICollectionViewCompositionalLayout 정리 - 2

본 글은 Getting Started with UICollectionViewCompositionalLayout을 토대로 이해한 내용을 요약한 글입니다. Supplementary Items 기존의 header 구현 1 2 3 4 5 6 7 8 9 10 11 extension PhotosDataSource: UICollectionViewDataSou...

NS 접두사는 왜 붙이는걸까?

NS NS는 Next Step의 약자입니다. Next Step이란 회사의 코드를 애플이 사용하게 되면서 해당 코드들도 딸려온 것이죠. 근데 애플이 지금까지도 NS 키워드를 붙일 이유가 있을까요? 이유는 Objective-C가 C의 extension이기 때문에 C++에서처럼 namespace를 사용할 수 없습니다. 그렇기 때문에 unique한 ...

UICollectionViewCompositionalLayout 정리 - 1

본 글은 Getting Started with UICollectionViewCompositionalLayout을 토대로 이해한 내용을 요약한 글입니다. 기존의 CollectionView 구현 UICollectionViewFlowLayout을 사용 UICollectionViewLayout을 subclassing Cell에 간격 주기 1...

prepareForReuse는 왜 쓰는걸까?

cellForRowAt v.s. prepareForReuse 우선 prepareForReuse 메서드의 설명을 보면 prepareForReuse는 dequeueReusableCell(withIdentifier)이 return 되기 직전에 호출되는 메서드입니다. 퍼포먼스 저하를 막기 위해서 cell의 content와 관련없는 작업들(ex. al...

특정 corner에만 radius 주기

방법 1 2 $0.layer.cornerRadius = 20 $0.layer.maskedCorners = [.layerMinXMinYCorner, .layerMaxXMinYCorner] layer의 maskedCorners 배열을 원하는 코너에만 적용시켜주면 된다. (예시의 경우 좌상단, 우상단) stackView를 썼는데 corner radi...

RxSwift items 메서드의 이해

items 메서드 구현부 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 public func items<Sequence: Swift.Sequence, Cell: UICollectionViewCell, Source: ObservableType> (cellIdentifier: String...

UITabbar Bar Tint Color 변경 트러블슈팅

문제 tabBar.barTintColor를 통해서 색상을 지정해주었지만 bar의 색이 바뀌지 않음 tabBar의 불투명도 설정을 isTrasnlucent값 변경을 통해 시도해보았지만 실패 (tabBar가 기존처럼 살짝 불투명한 상태를 원했는데 isTranslucent 값 변경으로는 해결되지 않았음) 기존 코드 1 2 tabBar.bar...

Dispose bag를 사용하는 이유는 뭘까?

요약 1. DisposeBag를 사용하지 않는 경우 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 let disposable1 = Observable.just(1) .subscribe { print($0) } let disposable2 = Observable.just(2) .subscr...

UIView animation, animateKeyframes 정리

UIview.animate, UIView.transition 메서드 animate(withDuration: delay:usingSpringWithDamping:initialSpringVelocity options: animations:completion:) 애니메이션이 진행될 시간값인 duration completion block은 애니메...

frame, bounds, transform 정리 요약

Frame 정의: superview의 좌표계를 기준으로 설정되는 view의 위치 좌표의 원점은 좌상단 꼭지점 superview의 bounds의 (0, 0)부터 떨어진 위치가 origin view가 rotate되었다면 rotate된 뷰를 감싸는 minimum한 직사각형이 해당 view의 frame이 됨 즉, View B의 frame은 ...