0

UIView...の別のインスタンスを含むサブクラスがあります。UIViewこの場合は a UIImageView.

ビューの制約を設定して整理できるので、Interface Builder を使用するのが本当に好きですが、ビューをストーリーボードに追加し、そのクラスをサブクラスに変更すると、プログラムを実行したときに表示されるのは白い四角だけです.

私は本当にそれで複雑なことをしていません。これまでのところ、1 つのUIImageViewインスタンスのみが含まれています。また、デバッグしてスコープ内のすべてのポインターを調べたので、正しく初期化され、サブビューとして追加されていることもわかります。

最後に...初期化してコードで表示すると完全に機能しますが、できればストーリーボードに設定して、制約をより簡単に管理できるようにしたいと思います。

なぜこれが起こっているのかについてのアイデアはありますか?

4

1 に答える 1

0

あなたのコメントに基づいて、コードが にあるようですinitWithFrame。その場合、オブジェクトをプログラムで作成する場合は機能しますが、Interface Builder を使用する場合は機能しません。これは、Interface Builder が を呼び出さないためinitWithFrameです。

これが問題の場合は、awakeFromNib代わりに使用してください。IB またはプログラムで使用できるようにする場合は、初期化作業を行うインスタンス メソッドを作成し、 と の両方から呼び出しawakeFromNibますinitWithFrame

于 2013-08-26T19:07:14.380 に答える