XELP
'Developer/iOS' 카테고리의 글 목록 (2 Page)

Developer/iOS

Developer/iOS

UICollectionView FlowLayout 좌측정렬

CollectionView를 쓰다보면, 보통은 FlowLayout을 통해 정렬에 관련한 코드를 작성하게 된다. 다만 이 경우 아이템이 1개인 경우에 대해 Align이 되지 않는 문제가 존재하는데 이를 해결하는 클래스를 작성해서 사용하도록 한다. LeftAlignFlowLayout 위의 커스텀 FlowLayout을 추가해준다. Example 간단한 사용법은 위와 같다.

Developer/iOS

Stackview in ScrollView

사용처 iOS StackView는 구성에 따라 가로 또는 세로로 View를 쌓아주는 좋은 녀석이지만, 같은 사이즈로 뷰를 연속적으로 쌓기에는 그리 좋은 View가 아니기도 하다. 특히 Scroll이 되지 않는 다는 점은 꽤나 아쉬운 점인데, StackView를 ScrollView로 감싸면 이 문제를 해결 할 수 있다. 생각보다 자주 쓰는 방식이라 이것을 포스팅해둔다. ScrollView 먼저 스크롤 뷰를 추가하고, Constraints를 지정하여 뷰의 외부 사이즈를 잡는다. 보통은 전체 영역을 잡을 테니 이런 식으로. StackView StackView를 추가한다. ScrollView는 기본적으로 Contents layout Guide와 Frame layout Guide가 있다. StackView가 전체..

Developer/iOS

Alamofire + RxSwift

RxSwift를 공부하면서, Alamofire와 RxSwift의 결합 개인 라이브러리를 개발하기로 마음먹었다. RxAlamofire라는 좋은 라이브러리가 따로 존재하는 모양이지만, 개인적으로 개발한 라이브러리가 존재함과 동시에 기존 라이브러리와의 통합을 모색했다. (아마 이렇게 하는 것이 나에게 있어서도 더 낫지 않을까..) 기존 라이브러리의 형태 기존에는 위와같은 형태로 개발에 사용해왔다. Request에 필요한 정보를 가진 Requester class와, Request 관련 옵션을 포함한 BaseRequestOption, 그리고 성공과 실패에 사용할 Closure를 따로 마련했다. 이 Closure 형식을 제거하고 RxSwift를 도입해보기로 했다. RxSwift를 도입해보자 먼저 init에서 바로 ..

Developer/iOS

Array <-> Dictionary

// Array -> Dictionary var pgrInfoSplitOrigin = Dictionary(grouping: data.pgrInfo!, by: { $0.pgrSetSno }) var pgrInfoSplit = pgrInfoSplitOrigin.sorted(by: { (first, second) in return first.value.first!.pgrSetSno! Array var stackData : [[VO.PgrInfo]] = pgrInfoSplit.map({$0.value})