iOS-SOPT-iNNovation / iOS_Traning

15 stars 0 forks source link

<2주차> 자신만의 Custom View를 만들려면 어떻게 해야하는지 설명하시오 #9

Closed namsoo5 closed 3 years ago

iJoom commented 3 years ago

https://ijoom.tistory.com/9

namsoo5 commented 3 years ago
  1. Xib를 이용해서 구현
  2. 코드로만 Class 구현

참고링크

dongminyoon commented 3 years ago

1. Xib 이용해서 별도의 Storyboard처럼 관리 가능

2. UIView을 상속해서 코드로만 구현

khyunjiee commented 3 years ago
5anniversary commented 3 years ago
choidam commented 3 years ago
Juhyeoklee commented 3 years ago

UIView를 상속한 Class를 작성해야한다. 화면을 구성하는 방식에는 두가지가 존재하는데

  1. Xib를 활용하는 방식
  2. 코드를 통해 구현하는 방식

1의 방식은 Xib를 통해 스토리보드 처럼 화면의 컴포넌트를 드래그 앤 드롭으로 쉽개 작성할 수있다. 하지만 이 작업은 Xib파일과 커스텀 클래스를 연결해주는 작업이 꼭 필요하다.

2의 방식은 모든 컴포넌트를 코드를 통해 구성하는 방식이다. 이는 코드의 양이 엄청나게 늘어나는 단점이 있지만 차지하는 용량자체가 적고 에러핸들리이 편한 장점이 있다.

elesahich commented 3 years ago

Custom View 만들기 :

  1. Xib 방식
  2. 코드구현 방식

두가지 목적이 있고 내 생각에 두개의 용도가 조금 다르다고 생각 팝업뷰나 커스텀 AlertView 뭐 이런것들은 Xib로도 그릴 수 있지만 애니메이션 넣고 하기에는 코드베이스가 더 좋은것 같습니당 특히 애니메이션을 포기할수 없는 나로서는 주로 커스텀뷰는 코드로 짜는 편 CollectionView, TableView를 짜는 경우에는 NSObject, 그냥 뷰인 경우에는 UIView 등의 UIKit 컴포넌트를 상속받아서 사용합니다 아 그리고 코드베이스는 상속이 됩니다 BaseView를 만들어두고 상속하면 얼마나 편한지 모릅니다

Xib는 미니 스토리보드이므로, ViewController 중간에 커스텀 요소가 있는 경우에 사용을 하는게 편합니다 조금 복잡한 뷰가 있거나, 불가피하게 같은 뷰를 여러 사람이 작업하는 경우에 사용하면 편하겠습니다 예를 들자면 버튼을 눌렀을때 해당자리에서 드롭다운이 나오는 경우는 스토리보드 베이스인 Xib로 작업하는게 조금 더 편할것 같습니다