나는이 기사 에서처럼 IBInspectable/IBDesignable을 가지고 놀았습니다 : http://nshipster.com/ibinspectable-ibdesignable/.IBInspectable/IBDesignable에 대한 다중 상속 솔루션을 신속하게?
스토리 보드에서 추가 수정 옵션을 추가하는 방법을 보여줍니다. 그러나 문제는 미리보기에 반영된 이러한 변경 사항을 볼 수 없다는 것입니다. 이를 위해서는 하위 클래스 인 IBDesignable
을 사용하고 didset{}
을 사용해야합니다.
이 문제는 모든 주식 UIView
하위 클래스의 하위 클래스를 만들어야한다는 점에서 문제가 있습니다. 따라서 UILabel
, UITextField
등의 하위 클래스가 있습니다. 테두리와 모서리 반경과 같은 일반 문자 UIView
을 복사하여 붙여 넣을 때마다
스위프트가 다중 상속을 지원한다고 생각하지 않습니다. 이렇게하면 훨씬 쉽게 만들 수 있습니다.
IBDesignable
서브 클래스 UIView
을 IBView
이라고 가정 해 봅시다. 예를 들어. UILabel
은 UIView
대신 IBView
의 서브 클래스 일 수 있습니까?
을 지루하게 만드는 방법이 있는지 궁금합니다.
내가 아는 한 IBView와 같은 것이 없습니다. 거의 모든 UIKit보기와 같은 소리에 어떤 속성을 추가하려고합니까? 대부분의 애플 리케이션을 위해 당신은 오직 재고 UIKit 충분만큼 UIView 하위 클래스의 매우 작은 소수를 확장/확장해야합니다. 수행하려는 작업이 여러 프로젝트에 대한 IBDesigner/IBInspectable보기를 재사용 할 수있는 경우 해당 항목을 프레임 워크 대상으로 던져 ** 공개 **로 선언하십시오. IB가 그렇게 잘 처리합니다. – dfd
아니요, 불가능합니다. 상속 대신 컴포지션을 사용하십시오. 예를 들어 모서리가 둥근 UIView의 하위 뷰를 만들 수 있습니다. 다른 모서리에 둥근 모서리가 필요한 경우 둥근 뷰로 둘러싸면됩니다. – Sulthan
IBView는 IBViewer의 서브 클래스 이름에 IBDesignable을 추가로 포함하고 있습니다. 예. 재사용 할 수있는 단일 파일을 만들고 있습니다. 더 쉬운 방법이 없다면 그렇게 큰 거래가 아니지 만 나는 궁금하다. – Janneman