こちらの記事でButtonなどに@IBDesignableで設定を行うとコードで設定したものがXib上で確認できるというものを見つけました。
CustomViewでもコードで設定したものをXibで確認したいと思い設定してみたのですが、うまく反映されませんでした。コードは以下の通りです。
Swift
1@IBDesignable 2class CustomView: UIView { 3 4 override init(frame: CGRect) { 5 super.init(frame: frame) 6 self.nibInit() 7 setupAttributes() 8 } 9 10 required init?(coder aDecoder: NSCoder) { 11 super.init(coder: aDecoder) 12 self.nibInit() 13 setupAttributes() 14 } 15 16 override func prepareForInterfaceBuilder() { 17 super.prepareForInterfaceBuilder() 18 setupAttributes() 19 } 20 21 fileprivate func nibInit() { 22 guard let view = UINib(nibName: "CustomView", bundle: nil).instantiate(withOwner: self, options: nil).first as? UIView else { 23 return 24 } 25 view.frame = self.bounds 26 view.autoresizingMask = [.flexibleHeight, .flexibleWidth] 27 self.addSubview(view) 28 } 29 func setupAttributes() { 30 backgroundColor = UIColor(red: 107 / 255, green: 197 / 255, blue: 143 / 255, alpha: 1.0) 31 layer.cornerRadius = frame.height / 2 32 clipsToBounds = true 33 } 34}
カスタムコンポーネントの設定はcustomViewでは使用することができないのでしょうか?
回答1件
あなたの回答
tips
プレビュー