nib 파일의 두 위치에서 사용하는 사용자 정의 UITableViewController 하위 클래스가 있습니다. 두 인스턴스가 약간 다른 동작을하도록하려면 어떻게해야합니까? 물론 코드에서 BOOL의 값에 따라 하나의 동작 또는 다른 하나를 선택할 수 있지만 Interface Builder 플러그인을 작성하지 않고 Interface Builder에서 해당 BOOL을 설정하는 방법은 무엇입니까?Interface Builder를 통해 사용자 정의 객체의 속성 설정
답변
두 개의 하위 클래스를 사용하는 것이 더 쉽고 문서화하기 쉽습니다.
내가 아는 한, IB 플러그인을 작성하지 않고 IB에서 매개 변수를 설정할 수 없습니다.
즉, 두 가지 옵션이 있습니다. 그것은 하나의 BOOL만큼 간단 경우
, 당신은 그것에게 MyCustomViewController
클래스의 속성을 해제 아마 제일이야 그리고 당신 초기화 후 코드에서 설정 :
customViewController = [[MyCustomViewController alloc]initWithNibName:@"CustomViewController" bundle:nil];
[customViewController setFunky:YES];
다른 옵션은 만드는 것입니다 MyCustomViewDelegate
에 대한 프로토콜. 그것이 IBOutlet
이기 때문에,
@class MyCustomViewController;
@protocol MyCustomViewDelegate
@required
-(BOOL)customViewShouldBeFunky:(MyCustomViewController*)customView;
@end
@interface MyCustomViewController : UIViewController {
NSObject<MyCustomViewDelegate> *delegate;
}
@property (readwrite, retain) IBOutlet NSObject<MyCustomViewDelegate> *delegate;
@end
을 당신은 인터페이스 빌더의 다른 위임 등의 대리자를 연결할 수 있습니다 : 당신이 프로토콜에 익숙하지 않은 경우, 헤더는 다음과 같이한다.
그런 다음보기가 작동하는 방식을 결정할 때 [delegate customViewShouldBeFunky:self]
으로 전화하십시오.
ID 관리자의 "사용자 정의 런타임 속성"이 아마도 당신이 찾고있는 것일 것입니다. 이 seems to be new Xcode 4.2부터.
Apple 개발자 사이트에는 불행히도이 기능에 대한 많은 설명서가없는 것 같습니다. 간단한 속성 세트로 사용할 수있었습니다.
Xcode 6부터는이 작업을 수행하는 새로운 방법이 있습니다. 이제 뷰 속성에 IBInspectable 속성을 부여 할 수 있으며 IB에서 이러한 속성을 표준보기와 같이 편집 할 수 있습니다. 사과 설명서 (또한 새로운 속성 IBDesignable에 대한)
@property (nonatomic, strong) IBInspectable BOOL
자세한 내용 : 그래서 예를 들면
속성을 재정의하고 사용자 정의 클래스에서 그들을 설정의 예입니다, 이것은 수도 도움. awakeFromNib가 호출되기 전에 속성 코드가 작동합니다. 따라서 awakeFromNib에서 사용자의 결정권에 따라해야 할 일을 결정할 수 있습니다.
안녕하세요, 당신의 마지막 두 답변이 삭제 된 답변을 가리키고 있습니다.이 링크를 눌러보세요. http://stackoverflow.com/a/31094561/1699210. 그럼에도 불구하고 서있는 것처럼 그들은 링크 만 대답으로 제거 될 수 있습니다, 당신은 그들을 육체로해야합니다. 일반적으로 이것은 바람직하게는 코멘트 일 것입니다 (나는 당신이 50 이하의 담당자가 될 수 없음을 안다) – bummi
- 1. Interface Builder를 효율적으로 사용하십시오.
- 2. Interface Builder를 사용할 때 가능한 제목을 설정 하시겠습니까?
- 3. 사용자 정의 컨트롤 속성 설정
- 4. Interface Builder를 통한 참조를 위임하지 않아야합니까?
- 5. UITextField가 Interface Builder를 통해 글꼴 크기를 변경하는 중
- 6. Interface Builder를 통해 NSCollection 뷰 내에서 액션을 연결할 수 있습니까?
- 7. 사용자 정의 - 사용자 정의 속성
- 8. Interface Builder의 사용자 정의 UIView
- 9. Info.plist에서 사용자 정의 설정의 부울 속성 설정
- 10. xib Interface Builder를 빌드하고 iphone에서 서브 뷰로로드하십시오.
- 11. Interface Builder를 사용하여 여러 Windows 작업하기
- 12. 제 개발자가 Interface Builder를 사용하지 않았습니다.
- 13. 표 셀을 만들려면 Interface Builder를 사용해야합니까?
- 14. 사용자 정의 속성 -
- 15. 사용자 정의 Well 속성
- 16. FB 사용자 객체의 속성 변경
- 17. CIL에서 사용자 정의 속성 정의
- 18. CRUDified 객체의 사용자 정의 디스플레이
- 19. 동적 PHP 객체의 속성 설정 해제
- 20. C# 사용자 정의 사용자 정의 속성
- 21. Interface Builder에서 사용자 정의 컨트롤 사용
- 22. Interface Builder의 속성으로 사용자 정의 컨트롤
- 23. 레일의 사용자 정의 속성
- 24. Android의 사용자 정의 속성
- 25. 사용자 정의 속성 사용
- 26. 사용자 정의 필수 속성
- 27. TINYMCE 링크 속성 사용자 정의
- 28. Magento 제품 속성 + 사용자 정의 속성?
- 29. 설정 마법사 사용자 정의
- 30. 객체의 속성
왜 코드에서 수행 할 수 없습니까? iPhone 용 IB 사용에 신경 쓰지 않아도 iPhone 앱용 UI가 단순하지 않습니다. – mk12