我想基於我獲得的互聯網信息設置不同的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內部更改該屬性。
除了可以從Interface Builder進行編輯之外,IBInspectable屬性與其他屬性沒有區別。
如果你有一個類CircleView,具有財產直徑:
class FooView: UIView {
@IBInspectable var diameter: CGFloat {
didSet {
//Code to do something with a change to the diameter property
}
}
而且您的視圖控制器具有FooView對象在它的出口,那麼您可以在代碼只是改變你的自定義屬性的值像任何其他財產:
class MyViewController: UIViewController {
@IBOulet weak var fooView: FooView!
@IBAction func buttonTapped(sender: UIButton) {
fooView.diameter += 5
}
}
- 1. 以編程方式設置iPhone設置
- 2. 以編程方式配置IPhone設置
- 3. 以編程方式設置UIScrollView方向
- 4. trigger.io以編程方式設置方向
- 5. 以編程方式設置Android樣式
- 6. 以編程方式設置Eclipse設置編輯器位置
- 7. 以編程方式設置android:animateLayoutChanges
- 8. 以編程方式設置ViewFlipper體重
- 9. 以編程方式設置插座UIBarButtonItem
- 10. 如何以編程方式設置passwordToggleEnabled
- 11. Jqgrid - 以編程方式設置textarea
- 12. 以編程方式設置PopUpMenuButton的值?
- 13. 以編程方式設置android xml
- 14. 以編程方式設置maxRequestLength
- 15. 以編程方式設置ImageView SRC Android
- 16. 以編程方式設置LinearLayout的minHeight
- 17. 以編程方式修改Django設置
- 18. Blackberry - 以編程方式設置鬧鐘?
- 19. 以編程方式設置LayoutParams.BELOW
- 20. 以編程方式設置ICQ狀態
- 21. 以編程方式設置/激活Segue
- 22. 如何以編程方式設置masterpage?
- 23. 以編程方式刪除Web.config設置
- 24. 更改IE設置以編程方式
- 25. ASP.Net以編程方式設置Membership.Provider
- 26. 以編程方式設置AWS區域
- 27. ASP.NET MVC6:以編程方式設置webroot
- 28. 以編程方式設置ImageButton圖像
- 29. 以編程方式設置RGB
- 30. 以編程方式設置LayoutParams
你可以看到設置@IBInspactable物業:https://iosdevcenters.blogspot.com/2017/07/how-to-use-ibinspectable-in-swift-30.html –