[解決済み] SwiftのサブクラスUIView
2023-01-09 06:40:53
質問
をサブクラス化したいのですが
UIView
をサブクラス化し、ログインのようなビューを表示したい。Objective-Cで作成しましたが、今度はSwiftに移植したいと思います。私はストーリーボードを使用しないので、UIはすべてコードで作成します。
しかし、最初の問題は、私は
initWithCoder
. 呼び出されることはないので、デフォルトの実装にしました。プログラムを実行すると、クラッシュしてしまいます。
initWithFrame
も実装しなければならないからです。今、私はこれを得た。
override init() {
super.init()
println("Default init")
}
override init(frame: CGRect) {
super.init(frame: frame)
println("Frame init")
}
required init(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
println("Coder init")
}
質問ですが、テキストフィールドなどはどこに作ればいいのでしょうか?また、フレームやコーダーを実装しない場合、どのようにすればquot;hide"することができるのでしょうか?
どのように解決するのですか?
いつもはこんな感じですが、ちょっと冗長です。
class MyView: UIView {
override init(frame: CGRect) {
super.init(frame: frame)
addBehavior()
}
convenience init() {
self.init(frame: CGRect.zero)
}
required init(coder aDecoder: NSCoder) {
fatalError("This class does not support NSCoding")
}
func addBehavior() {
print("Add all the behavior here")
}
}
let u = MyView(frame: CGRect.zero)
let v = MyView()
(編集: 初期化子の関係をより明確にするために、私の回答を編集しました)
関連
-
[iOS]コンパイルエラー:ld: アーキテクチャ x86_64 のシンボルが見つかりません。
-
[解決済み] SwiftからObjective-Cのコードを呼び出すにはどうしたらいいですか?
-
[解決済み] iOSのステータスバーの文字色を変更する方法
-
[解決済み] Swiftで#pragmaマーク?
-
[解決済み] UIViewController のビューが表示されているかどうかを確認する方法
-
[解決済み] UITextViewのサイズをコンテンツに合わせるには?
-
[解決済み] UIDevice uniqueIdentifierは非推奨 - どうしたらいいの?
-
[解決済み] UIViewの左上と右上だけにcornerRadiusを設定する方法は?
-
[解決済み] UITextBorderStyleNoneを使用してUITextFieldのパディングを設定する
-
[解決済み] UITableView - トップにスクロールする
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] カスタムオブジェクトを含むNSMutableArrayをソートするにはどうすればよいですか?
-
[解決済み] Xcode 12、iOS Simulator用にビルドしても、iOS用にビルドされたオブジェクトファイルでは、アーキテクチャ「arm64」用にリンクされます。
-
[解決済み] Objective-CでNSNotificationCenterを通してメッセージを送受信する?
-
[解決済み] UITextFieldのテキスト変更イベント
-
[解決済み] iPhone 5の画面解像度に対応したアプリを開発・移行するには?
-
[解決済み] 「GCC使用時に「Xcode/iOSのライセンスに同意するには管理者権限が必要です。rootでsudoを使用して再実行してください。
-
[解決済み] インポート vs #インポート - iOS 7
-
[解決済み] セキュリティで保護されたWebサービスにもアクセスするiOSアプリで、Facebook認証を行うためのデザイン
-
[解決済み] Swiftのプロトコルでオプションのメソッドを定義するには?
-
[解決済み] iOSアプリをApple Developer Programや脱獄せずにデバイス上でテストすることができます。