[Objective-C] iOS Custom View를 만들기 위한 xib 질문입니다.
조회수 2356회
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. 저도 공부하는 입장이라 이 답변이 정확한 답변이 될수 없기 때문에 만약 틀린 부분이 있다면 언제든지 편집 요청을 해주시거나 의견 달아주세요.
댓글 입력