[Objective-C] iOS Custom View를 만들기 위한 xib 질문입니다.

조회수 2330회

CustomView.h CustomView.m CustomView.xib 이렇게 만들어 놓고

xib에서 띄우고자 하는 뷰를 만들었습니다.

xib 화면에서

첫 번째로 여기서 질문 드리고자 하는 것은

Placeholders의 File`s Onwer와 View 이 둘 중에 어느것에 CustomView라는 클래스를 넣어줘야하는지 잘 모르겠습니다.

해 본 바로는 둘 다 되는 것 같은데 정확한 차이점을 잘 모르겠네요..

File`s Onwer에 CustomView를 커스텀 클래스로 지정했을 때와 View에 CustomView를 커스텀 클래스로 지정했을 때에 차이가 알고 싶습니다.

두 번째 initWithCoder 메소드에서 self = [super initWithCoder:aDcoder]; 여기서 self 가 무엇인지 궁금합니다. 위에서 File`s Owner에 커스텀 클래스 했을 때와 View에 커스텀 클래스를 지정했을 때 self가 달라지나요?

세 번째 UIView *view = [NSBundle mainBundle] loadNibName 메소드를 통해서 나온 배열의 첫번째 객체가 어떤 것이기에 [self addsubview:view]; 를 하는 것인지 self와 닙로드를 통해 만든 뷰의 차이를 알고 싶습니다.

감사합니다.

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

  • 제가 생각하는 것입니다.

    첫번째 질문은 스타일상 문제로 알고 있습니다. 코드로 CustomView를 추가하는것이 view에서 지정하는 것이고 File's Onwer에서 해주게 되면 xib에서 처리를 하기 때문에 .m파일에서 정의를 따로 안 해줘도 사용 할 수 있지 않을까 싶습니다.

    두번째 질문은 제가 알기로는 별차이 없는것으로 알고 있지만 file's Owner랑 self는 엄연히 다른 것이기 때문에 조금 오래 된 글이기는 하지만 한번 읽어보시는게 나을거 같습니다. http://soooprmx.com/wp/archives/4299

    세번째 질문은 loadNibName에 해당하는 인터페이스 객체의 가장 상단에 있는 객체를 가지고 오기 때문에 커스텀뷰의 전체 뼈대를 가지고 온다고 보면 되기 때문에 [self addsubivew: view]를 하게 되면 커스텀뷰를 self에 해당하는 뷰에 붙이게 되는거죠. (self와 닙로드를 통해 만든 뷰의 차이를 알고 싶다는데 정확히 질문이 파악이 안되서 답변을 못해드리겠습니다. 죄송합니다 ㅠㅠ)

    ps. 저도 공부하는 입장이라 이 답변이 정확한 답변이 될수 없기 때문에 만약 틀린 부분이 있다면 언제든지 편집 요청을 해주시거나 의견 달아주세요.

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)