UIView
がnibファイル/ストーリーボードからロードされているか、ユーザーコードから動的にインスタンス化されているかを識別する方法はありますか? カスタムUIView
サブクラスを作成しているので、インスタンス メソッドに完全にアクセスできます。
良いアイデアと呼ばれるかどうかを確認しますかinitWithCoder:
、それとも他の方法もありますか?
なぜそのような機能が必要なのか疑問に思っている人のために: プログラムで作成された場合にのみ、コンテンツに応じて一部のビューをスマートにサイズ変更したいライブラリを開発しています(ユーザーは初期化コードを気にせず、レイアウト制約などを追加しません。単純なクラス メソッドの初期化子があります)。ユーザーが Interface Builder でデザインした場合、彼らは明らかに自分がデザインしたとおりに見たいと思っているので (私は IBDesignable/IBInspectable 属性も使用しているため、IB が頻繁に使用されます)、そのデザインには触れません。