Interface Builderを使用して配置できるように、ペン先に格納されるカスタムUIViewを作成しようとしています。
UIViewを拡張するRippleViewというクラスを作成しました。Interface Builderを使用して、このビューをサブビューとして配置したいと思います。そのために、新しいビューをInterface Builderの既存のビューにドラッグし、RippleViewクラスIDを付与しました。次に、RippleViewアウトレットを作成したばかりのビューにリンクしました。
RippleViewクラスでは、[superinitWithCoder...]を呼び出す以外のことを行わないinitWithCoderを実装しました。awakeFromNibで、先に進んでコードを初期化します。
さて、何らかの理由で、awakeFromNibでRippleViewの境界をチェックしようとすると、ばかげた値(0幅と1081171968高さ)が得られます。これらの境界はdrawRectで変更されないため、ビューが初期化されていないという問題ではないと思います。touchesMovedイベントハンドラーで同様の値を取得します。
プログラムでサブビュー(initWithFrame)を作成していたときは、問題はありませんでした。フレームの境界が狂ってしまう原因は何ですか?