본문 바로가기

분류 전체보기53

[WWDC19] Advances in Collection View Layout (Compositional Layout 정리) - 1 Compositional Layout Composable: 복잡한 것을 단순한 것들로 구성할 수 있는 Flexible: 어떠한 레이아웃도 작성할 수 있을 정도로 유연한 Fast: 빠른 Composing small layout groups together Layout groups are line-based Composition instead of subclassing (UICollectionViewFlowLayout) subclassing Item, Group, Section, Layout let size = NSCollectionLayoutSize( widthDimension: .fractionalWidth(1), heightDimension: .absolute(44) ) let item = NSColl.. 2023. 4. 27.
[Swift] Closure Capture list, ARC, AnyObject까지 연결지어서 정리 키워드 공부 과제에서 Closure Capture list, ARC, AnyObject에 대해서 알아보는 것이였는데 이를 연결지어서 정리해보았습니다 Closure Capture list var str = "Hello, World!" var myClosure = { [str] in print (str) } str = "next" let inc = myClosure inc() 이 코드를 실행시키면 어떻게 될까요? 답 “Hello, World!”가 출력됩니다 var str = "Hello, World!" var myClosure = { print (str) } str = "next" let inc = myClosure inc() 이 코드를 실행시키면 어떻게 될까요? 답 “next”가 출력됩니다. 이런 일이 벌.. 2023. 4. 23.
[삽질] BottomSheet 구현 중 시행착오 + 해결과정 (PanGesture, CGAffineTransform) 바텀시트를 구현하면서 겪언던 시행착오를 기록하고 어떻게 해결했는지 그 방법을 정리해보자. 초기방법 처음에 바텀시트뷰을 아래에 붙인다음에 높이를 Snapkit의 updateConstraint를 통해서 화면의 반까지 올리는 방법으로 해보니 아래 저장하기 버튼이 이상하게 남는 현상이 있었습니다..저장하기 버튼 뷰의 아래에 붙어있어서 화면에 처음 뜰 때부터 마지막에 사라지기 직전까지 남아있는 문제였습니다. -> 그럼 아예 화면 띄워놓고 아래에 숨겨놓고 시작하자 ! 초기화면 구성 - 왼쪽그림부터 보면 구상한 대로 바텀시트를 화면 아래에 숨깁니다. (top을 bottom으로) 그렇게 되면 바텀시트의 초기 origin값은 (0, 812: Iphone13 mini기준)가 될 것입니다. 해당 origin값은 이 후 CG.. 2023. 4. 16.
[Q&A] ViewController생성: Factory Method Pattern & DI SOPT 과제를 수행하면서 아래 코드를 사용했는데 해당 코드의 역할에 대해서 질문을 받았다. 그 이유에 대해서 정리하고 남겨볼려고한다. ModuleFactory 사용 이유 UML UML작성 기준: https://www.nextree.co.kr/p6753/ ModuleFactory 코드 import UIKit protocol ModuleFactoryProtocol { func makeLoginViewController() -> UIViewController func makeWelcomeViewController() -> UIViewController } final class ModuleFactory: ModuleFactoryProtocol { static let shared = ModuleFactory().. 2023. 4. 15.