Dev37 [iOS] CGPoint, CGSize, CGRect, Frame, Bounds 어떻게 지평좌표계로 고정하셨죠? 좌표계에 화면을 띄우기 위해서는 origin(x, y), width, height값을 알아야합니다. CGPoint 2차원 좌표계의 점을 포함하는 구조체 x좌표, y좌표를 가지고 있음 시작점 (origin)을 나타나게 될 구조체 CGSize 넓이와 높이 값을 가지고 있는 구조체 width와 height값을 가지고 있음 Size는 넓이와 높이만 가지고 있을 뿐 아직 사각형은 아님. CGRect 직사각형의 위치와 크기를 포함하고 있는 구조체 이름에서 알 수 있듯이 CGRect, 사각형의 모습. 코드로 순서대로 살펴봅시다. CGPoint → CGSize → CGRect 순. /* Points. */ public struct CGPoint { public init() public .. 2023. 5. 8. [삽질] Infinite Carousel 구현해보기 + auto scrolling(Timer) Infinite Carousel 심화과제의 티빙화면의 상단에 위치한 스크롤되는 화면을 구현과정을 정리해서 남겨놓고자 합니다 ! 화면의 특징을 먼저 살펴보면 좌우로 스크롤되면서 무한정 스크롤 됨. (마지막에서 첫번째, 첫번째에서 마지막으로 갈 때도 마찬가지) 자동으로 일정시간이 지나면 화면이 스크롤 됨. 이렇게가 있습니다. 핵심 구현 아이디어 데이터소스를 활용해서 데이터를 넣기 위해 collectionView를 활용하고 스크롤뷰가 스크롤이 끝난 시점에 scrollView의 setContentOffset메서드를 통해서 contentOffset.x좌표를 이동시켜주면서 화면을 전환시켜줄 예정입니다. 데이터 세팅 4개의 아이템이 있다고 가정. -> [1, 2, 3, 4] 첫번째 아이템에서 마지막으로 갈 때 () .. 2023. 5. 8. [WWDC16] Understanding Swift Performance - 1부 이전에 올렸던 글이 사진과 글이 몇개 누락된 채로 올라갔던 걸 발견해서 조금 더 첨부해서 다시 올리고 원래글은 비공개로 돌립니다😐 Understanding Swift Performance 1부 Heap이 Stack보다 동적이지만 효율성이 떨어진다 Heap 자료구조를 사용하면서 힙을 검색하여 적절한 크기의 사용하지 않는 블록을 찾고 할당 해제 후 메모리를 적절한 위치에 다시 삽입하는 과정을 겪게 되는데, 이것이 Heap allocation(힙 할당)의 메인 cost가 되는 것이 아니다. 여러 스레드가 동시에 힙에 메모리를 할당할 수 있으므로 힙은 잠그거나, 또는 기타 동기화 메커니즘을 사용하여 무결성을 보호해야한다는 것이 사실 main cost라고 할 수 있다. 하지만 사람이 직접 이 모든걸 관리하면서 한.. 2023. 5. 5. [삽질] 상단 Custom TabBar 구현 전체적인 뷰 설계하기 CollectionView & CollectionView ?? 🤔 상단 탭바만 보면 옆으로 스와이프를 하면 화면이 넘어가는 것을 볼 수 있다. 그리고 횡스크롤이 가능해야한다. 탭 이동시에 indicatorbar의 넓이 및 위치가 글자에 맞게 조정된다. 여기서 처음에 든 생각은 맨아래에 CollectionView를 깔고 TabBar도 CollectionView로 만들고 TabBar를 움직일 때 Cell을 넘기는 방식으로 생각했다. 인디케이터바의 넓이 및 위치를 구현하는데도 용이하다고 판단했다. 그런데 구현 중에 모두 동일한 콜백으로 이벤트가 들어오는데 일일히 분기처리하는 것이 깔끔하지 않다고 생각했다. 아니면 더 나은 방법이 있었을지는 음 CollectionView & PageView.. 2023. 5. 1. 이전 1 ··· 3 4 5 6 7 8 9 10 다음