2012-04-19 2 views
0

新しいクラスTestViewは(TestView.hて、コメントを追加し.mで)追加された場合、XCodeの4.3.2使用して、それがUIViewのサブクラスであり、そしてそれはdrawRectメソッド内で物事を描いています。ファイルViewController.xibがクリックされ、アイデンティティ・インスペクタをクリックする必要があり、カスタム・クラスをUIViewからTestViewに変更する必要があるのはなぜですか?iOSの場合、ViewController.xibカスタムクラスを別のクラスに変更するとどういう意味ですか?

どういう意味ですか?それが変更されない場合はどうでしょうか?drawRectのコードはTestView.mでまだ簡単に呼び出せますか?あるいは、TestView.mのすべてのコードをViewController.mに移動することはできますか?もしそうなら、TestViewUIViewから継承されますが、ViewControllerUIViewControllerから継承され、ViewControllerdrawRectは継承されない可能性があります。

答えて

1

カスタム描画を行う一般的な方法は、UIViewサブクラスを実装してdrawRectを実装することです。その図面を可視にする唯一の方法は、カスタムビューをビューコントローラに追加することです。ビュー階層はビューコントローラによって制御されますが、ビューコントローラによって描画されません。

xibはユーザーインターフェイスを表します。 xibにUIViewサブクラス(TestViewなど)を追加すると、そのクラスのインスタンスがビュー階層にアタッチされます。クラス名は、インスタンス化する(クラスのインスタンスを作る)クラスを知るために必要です。

drawRectは、ビューの一部またはすべてを描画する必要があると判断したときに呼び出されるUIViewメソッドです。アプリケーションは直接呼び出さない。彼らはそれを実装し、システムに呼び出させます。

ViewControllerは何も描画せず、ビューの階層のみを管理します。ですから、ビューコントローラにdrawRectを実装することに意味はありません。

関連する問題