0

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

UIViewを拡張するRippleViewというクラスを作成しました。Interface Builderを使用して、このビューをサブビューとして配置したいと思います。そのために、新しいビューをInterface Builderの既存のビューにドラッグし、RippleViewクラスIDを付与しました。次に、RippleViewアウトレットを作成したばかりのビューにリンクしました。

RippleViewクラスでは、[superinitWithCoder...]を呼び出す以外のことを行わないinitWithCoderを実装しました。awakeFromNibで、先に進んでコードを初期化します。

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

プログラムでサブビュー(initWithFrame)を作成していたときは、問題はありませんでした。フレームの境界が狂ってしまう原因は何ですか?

4

2 に答える 2

2

解決しました!問題はコードとは何の関係もありませんでした。UIView の境界はフロートであり、整数として出力していました。プログラマーをドロップアウトから分離するのは、このようなものです:p

于 2009-10-27T04:18:35.230 に答える