본문 바로가기

IOS

(3)
UICollectionViewCell Dynamic Frame 다루기 마주한 문제상황 UICollectionView를 통해서는 항상 Width와 Height가 일정하게 고정되어 있는 형태만 구현했었는데, 아래와 이미지와 같이 cell Height가 dynamic 해야하는 형태의 구현을 하게 되었습니다. 기획의 의도를 간략하게 표현한 그림인데, 중요하게 지켜야 할 2가지 조건이 있습니다. 하나의 UICollectionViewCell의 width는 CollectionView의 width를 2분의 1을 차지한다. UICollectionViewCell의 height는 내부의 text와 화면 해상도에 따라 UILabel이 최대 2줄로 표현되며 그 높이에 맞게 dynamic하게 결정 되어야한다. 저에게 가장 허들이었던 것은 "UICollectionViewCell의 height를 Dy..
Jenkins PipeLine 적용기 오늘은 주말마다 조금씩 학습하여, 회사의 배포를 Jenkins PipeLine으로 개선한 히스토리를 적어보려 합니다. JenkinsPipeLine을 공부하게 계기 (코드화의 중요성) 제가 JenkinsPipeLine을 공부하여 개선에 사용하게 된 계기는 "히스토리 체크"를 위해서입니다. 개선되기 이전에는 배포 과정에 필요한 코드나 옵션을 추가하기 위해서는 Jenkins 페이지에 직접 접속하고 수정한 후 저장하는 방식이었습니다. 해당 방식의 문제점은 개선한 당사자가 문서나 Jira Ticket 등 부가적인 작업을 통해 흔적을 남기지 않으면, 어떤 점이 개선되었는지 "다른 개발자들은 알 수 없다"는 점입니다. "다른 개발자들은 알 수 없다"라는 것은 히스토리 체크가 이루어지지 않는다는 것을 뜻하며, 이는 개..
내가 원하는 개발 패턴 만들어보기 PART1 안녕하세요. JHM 입니다. 이번에 개인 프로젝트를 준비하면서 활용해보고 싶은 iOS 개발 패턴을 찾아보던 중 Uber의 RIBs Pattern을 보게 되었습니다. 하지만, 아래 3가지 이유로 인해 RIBs는 잠시 뒤로 미뤄두게 되었습니다. Business Logic을 기반으로 움직이는 Pattern이지만, 확실하게 어떤 이점이 있는지 감을 잡지 못한 점 RIBs 예제는 Present 예시에만 취중 되어있어, UINavigationController을 적용했어도 맞게 활용하고 있는지 알 수 없어 자신감 지수가 낮았음 자식 화면을 modalPresentationStyle =. fullScreen로 노출하였을 때 Memory Leak(RIBS는 Memory Leak이 발생하면 Build를 Fail 시킵니다...