IBINSpectableの基本的な使い方
3747 ワード
IBinspectable:インスペクタがインタフェース要素のプロパティを変更できるようにします。
IBinspectableを使用する前に、ストーリーボードにビューを追加します。
このビューの背景色を変更するには、右側のinspectorで変更します。
では、ビューの枠線の厚さと色をどのように変更しますか?
1)第1の方法は,ビューのIBOUTを接続し,borderWidthとborderColorをコードで指定することである.
2)2つ目の方法は、チェッカを使用してビューの背景色を変更するなど、枠線の幅と枠線の色を変更することです。IBinspectableはこのときに使用されます。
1.cocoa Touchclass UIViewファイルを作成してください。
2.上記1で作成したViewをストーリーボードのViewに接続します。
3.IBinspectableを使用します。
1)枠線幅の変更
@IBInspectable var borderWidth: CGFloat {
get {
return layer.borderWidth
}
set {
layer.borderWidth = newValue
}
}
ストーリーボードの検査員に移動します。変化はありますか?borderWidthプロパティがインスペクタに作成されました。
2)borderColorの変更
@IBInspectable var borderColor: UIColor? {
get {
return UIColor(cgColor: layer.borderColor!)
}
set {
layer.borderColor = newValue?.cgColor
}
}
やはりStoryBoardの検査員さん変化はありますか?今回は、InspectorでborderColorプロパティを作成しました。
InspectorでborderWidthとborderColorのプロパティ値を変更します。うん。変更はありませんが、実際に実行すると、変更した属性値がよく適用されます。IBinspectableのみを指定すると、コンパイル時に反映されないため、ストーリーボードでリアルタイムで表示できません。
IBDesignは、上記の問題を解決し、ストーリーボードでリアルタイムで表示できる方法です。
IBINSpectableが設定されているborderWidthとborderColorのプロパティ値のViewを返し、@IBDESIGNALと宣言してStoryBoardに移動します。
こつこつ!inspectorで変更したborderWidthとborderColorのプロパティがコンパイル時にリアルタイムで反映されていることがわかります。
Reference
この問題について(IBINSpectableの基本的な使い方), 我々は、より多くの情報をここで見つけました https://velog.io/@kimin/IBInspectable-기본사용법テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol