내가 얻는 인터넷 정보를 기반으로 다른 IBInspectable 항목을 설정하고 싶습니다. 예를 들어, 녹색, 빨간색, 주황색 동그라미 용 IBInspectables가 있습니다. 요청에 녹색이라고 표시되면 isGreen을 Yes로, 다른 항목을 No로 설정할 수 있습니다. 다른 두 사람도 마찬가지입니다. IBInspectables here을 볼 수 있습니다. 내가 거기에 넣은 코드로 할 수 있다는 것을 알고 있지만 프로그래밍 방식으로 전환 할 수있는 방법이 있습니까?프로그래밍 방식으로 IBInspectable 설정
답변
IBInspectable는 IB에서 볼 수 있도록 코드 된 속성 일뿐입니다. 그래서이있는 경우 :
@IBInspectable var isGreen:Bool? {
didSet {
// code to color circle?
}
}
이 작업을 수행 할 수 있습니다
self.isGreen = true
그래서, 내 ViewController에서 @IBInspectable isGreen을 추가하고 viewWillAppear에서 무엇을 작성해야합니까? –
어디에서 전화해야하는지, 전화를 걸지는 어디에서 결정해야합니까? –
질문을 잘못 읽었습니다. IBInspectable 속성에는 이미 UIColor 유형에 대한 지식이 있으므로 리팩터링 할 수 있습니다. [링크] http://nshipster.com/ibinspectable-ibdesignable/이 좋은 예를 보여줍니다. – dfd
당신은 혼란 소리. 용어 IBInspectable
은 @IBInspectable
태그가있는 뷰 오브젝트의 특성을 설명합니다. 그러면 Interface Builder에서 Interface Builder 내부에서 해당 속성을 변경할 수 있기를 원합니다.
인터페이스 작성기에서 편집 가능한 것을 제외하고 IBInspectable 속성은 다른 속성과 다를 바 없습니다.
당신은 속성 직경 클래스 CircleView있는 경우 :
class FooView: UIView {
@IBInspectable var diameter: CGFloat {
didSet {
//Code to do something with a change to the diameter property
}
}
그리고 당신의 뷰 컨트롤러가 콘센트와의 FooView 개체가가, 다음 코드에서 사용자 정의 속성 값을 바로 변경할 수 있습니다 다른 재산과 같은 :
당신은 @IBInspactable 속성을 설정하려면 볼 수