Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

넷플릭스 Compositional Collection UI 회고 #8

Open
simoniful opened this issue May 16, 2022 · 0 comments
Open

넷플릭스 Compositional Collection UI 회고 #8

simoniful opened this issue May 16, 2022 · 0 comments

Comments

@simoniful
Copy link
Owner

simoniful commented May 16, 2022

고민

  1. Compositional CollectionView
  2. DataSource / Delegate / Layout
  3. UIButton
  4. Rx Table/Collection DataSource 구성

회고

  1. Compositional CollectionView
    기존에 FlowLayout을 통한 구성을 주로 사용하여 collectionView를 구성하였지만 복잡한 뷰를 구성하는데는 어느정도 한계점이 있음
    CSS의 flexbox와 유사(?)하게 Section 내부 Element 의 Layout 을 선언하면서 보다 편리하게 뷰를 구성하도록 13.0에서 등장
    물론 flexLayout 서드 파티를 사용하여 CSS와 보다 유사하게 구성이 가능
    써보니 확실히 복잡한 뷰를 구성하는 데 있어서는 장단점이 있을 듯
    image

  2. DataSource / Delegate / Layout
    기존에는 해당 차용에 대한 의미를 모른채 사용
    실제로는 Table과 Collection의 구성 속 컨텐츠 / 레이아웃 / 인터렉션에 대한 엄격한 분리
    DataSource는 데이터를 받아 뷰를 그려주는 역할
    Delegate는 사용자가 그 보이는 부분 중 어떤 것을 클릭하거나 어떤 행동을 했을 때, 그 행동에 대한 동작을 수행
    Layout은 시각적인 요소의 분배나 구성을 컨트롤

  3. UIButton
    iOS 15.0 부터 configuration 관련하여 구체화되고 기존의 버튼 내부 레이아웃 등과 같은 부분에서 많은 부분이 deprecated 됨
    강의에서 진행한 extension을 통한 버튼 내 이미지와 타이틀의 재배치도 실제로 동작하지 않았고 경고 발생
    'titleEdgeInsets' was deprecated in iOS 15.0: This property is ignored when using UIButtonConfiguration
    버튼 구성에 있어서 더 고민하고 내부 컴포지션의 활용과 버튼의 상태에 따른 View의 구성 등 많은 부분에 있어서 고민이 필요

  4. Rx Table/Collection DataSource
    기존 Rx DataSource를 활용할 때 왜 Section별로 데이터의 Model을 구성하고 이를 활용하는 가에 대한 의문이 있었음
    컴포지션으로 구성을 하다보니 뷰 하나에서 여러개의 Collection/Table 타입을 구성하는 건 그만큼 복잡해진다는 의미로
    적용에 있어서 최대한 섹션을 활용하여 다양한 뷰를 구성할 수 있도록 지향해야함
    CustomCell의 구성도 보다 원활하게 하도록 재사용과 layoutSubviews와 같은 메서드를 고려하면서 구성하며, 내부를 어떻게 유지 보수가 편하도록 구성할지도 좀 더 구상해봐야할 듯

참고

👉🏻 Modern Collection Views with Compositional Layouts
👉🏻 FlexLayout
👉🏻 DataSource와 Delegate의 차이?
👉🏻 UIKit button system

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant