2009-07-14 13 views
0

私はInterface Builderを使用して配置できるようにペン先に格納されたカスタムUIViewを作成しようとしています。iPhoneのカスタムUIViewの境界

UIViewを拡張するRippleViewというクラスを作成しました。 Interface Builderを使用してこのビューをサブビューとして配置したいと思います。これを行うために、Interface Builderの既存のビューに新しいビューをドラッグし、RippleViewクラスIDを与えました。私はちょうど私が作成したビューに私のRippleViewアウトレットをリンクしました。

RippleViewクラスでは、[super initWithCoder ...]以外の何もしないinitWithCoderを実装しました。 awakeFromNibではコードを初期化します。

何らかの理由でawakeFromNibのRippleViewの境界を調べようとすると、私はばかげた値(0の幅と1081171968の高さ)を取得します。これらの境界はdrawRectでは変更されないため、初期化されていないビューの問題ではないと思います。私はtouchesMovedイベントハンドラで同様の値を取得します。

プログラムでサブビュー(initWithFrame)を作成しても問題はありませんでした。フレームの境界線がひそかになってしまう原因は何ですか?

答えて

2

解決済み!問題はコードとは関係がありませんでした。 UIViewの境界は浮動小数点で、整数として印刷していました。これは、ドロップアウトからプログラマーを分離するようなものです:p

0

initWithCoder:implementationを投稿できますか? selfの値を設定していない場合や、initWithCoder:のスペルミスがある場合は、このような問題が発生する可能性があります。 initWithCoderでブレークポイントを設定しようとしましたか?

関連する問題