UIKit/カスタムビュー
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[UIKit]]
&tag(UIKit/カスタムビュー);
*目次 [#qe5834f7]
#contents
*関連ページ [#b7aeec5b]
*参考情報 [#j1cf476a]
-Creating a Custom View That Renders in Interface Builder...
-[[IBDesignable できるカスタムビューを xib で定義するとき...
-[[カスタムViewをNibから初期化し、IBDesignableとIBInspect...
-[[Auto LayoutでCustom Viewを作る その1 | Cyber Passion f...
*基本手順 [#xf194da6]
**Xibの作成 [#o3da204e]
-File > New > iOS > User Interface > Viewでxibを追加。UIV...
-xibを開いてAttributes InspectorでSizeをFeedomにStatus Ba...
-Viewの上に好みのコンポーネントを配置。
**クラスの作成 [#f9bd9bd4]
-以下のように作成。
#pre{{
@IBDesignable class CustomView: UIView {
override init(frame: CGRect) {
super.init(frame: frame)
loadFromNib()
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
loadFromNib()
}
private func loadFromNib() {
// ここは UINib を使っても良い
// let v = NSBundle(forClass: self.dynami).loadNib...
let v = UINib(nibName: "CustomView", bundle: Bund...
v.frame = self.bounds
addSubview(v)
}
// ここでStoryboard上の見た目を初期化する
override func prepareForInterfaceBuilder() { // <= (4)
loadFromNib()
}
}
}}
**関連づけ [#qa54428b]
-xibのFile's OwnerをCustom Viewとする。ViewのほうをCustom...
--そうするとOutletが接続できなくなったりいろいろな不都合...
--CustomViewのsubviewとしてxibをロードしていることに注目...
--NSBundleおよび、UINibの呼び出しでownerをselfにすること...
*トラブルシューティング [#v20a8320]
**Interface Builderで表示できない。 [#w50ef90c]
-クラスの定義に「@IBDesignable」がついているかどうか確認...
**Interface Builderに設定するとエラーが起こる [#z8b79de8]
-xibファイルをロードしているところにownerを確認する。Inte...
let v = UINib(nibName: "CustomView", bundle: Bund...
**outletを接続するとエラー [#g729c421]
-これもやっぱり、オーナーまわりの設定がおかしい可能性あり。
**ライブラリプロジェクトのビューが読み込めない [#e4d88ae6]
-ライブラリ内のxibはNSBundle.mainBundleでは読み込めない。...
終了行:
[[UIKit]]
&tag(UIKit/カスタムビュー);
*目次 [#qe5834f7]
#contents
*関連ページ [#b7aeec5b]
*参考情報 [#j1cf476a]
-Creating a Custom View That Renders in Interface Builder...
-[[IBDesignable できるカスタムビューを xib で定義するとき...
-[[カスタムViewをNibから初期化し、IBDesignableとIBInspect...
-[[Auto LayoutでCustom Viewを作る その1 | Cyber Passion f...
*基本手順 [#xf194da6]
**Xibの作成 [#o3da204e]
-File > New > iOS > User Interface > Viewでxibを追加。UIV...
-xibを開いてAttributes InspectorでSizeをFeedomにStatus Ba...
-Viewの上に好みのコンポーネントを配置。
**クラスの作成 [#f9bd9bd4]
-以下のように作成。
#pre{{
@IBDesignable class CustomView: UIView {
override init(frame: CGRect) {
super.init(frame: frame)
loadFromNib()
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
loadFromNib()
}
private func loadFromNib() {
// ここは UINib を使っても良い
// let v = NSBundle(forClass: self.dynami).loadNib...
let v = UINib(nibName: "CustomView", bundle: Bund...
v.frame = self.bounds
addSubview(v)
}
// ここでStoryboard上の見た目を初期化する
override func prepareForInterfaceBuilder() { // <= (4)
loadFromNib()
}
}
}}
**関連づけ [#qa54428b]
-xibのFile's OwnerをCustom Viewとする。ViewのほうをCustom...
--そうするとOutletが接続できなくなったりいろいろな不都合...
--CustomViewのsubviewとしてxibをロードしていることに注目...
--NSBundleおよび、UINibの呼び出しでownerをselfにすること...
*トラブルシューティング [#v20a8320]
**Interface Builderで表示できない。 [#w50ef90c]
-クラスの定義に「@IBDesignable」がついているかどうか確認...
**Interface Builderに設定するとエラーが起こる [#z8b79de8]
-xibファイルをロードしているところにownerを確認する。Inte...
let v = UINib(nibName: "CustomView", bundle: Bund...
**outletを接続するとエラー [#g729c421]
-これもやっぱり、オーナーまわりの設定がおかしい可能性あり。
**ライブラリプロジェクトのビューが読み込めない [#e4d88ae6]
-ライブラリ内のxibはNSBundle.mainBundleでは読み込めない。...
ページ名: