5

UIKit リファレンスは、UIView は UIWindow のスーパークラスであると述べていますが、この親子関係にもかかわらず、UIWindow は実際には UIView を管理します。これは私にはとても珍しいように聞こえます。

ソフトウェア設計の観点から、これの重要性を知っている人はいますか?

どうもありがとう。

編集:
iPhone プログラミング ガイドの関連する段落を読みました。UIWindow を UIView の親にします。Apple がクラス階層をこのように設計することを余儀なくされた何かがあったに違いありません。

4

3 に答える 3

0

その場合、すべての UIView には、ウィンドウに対してのみ意味のある (継承された) プロパティと動作があるためです。それは間違っています。

逆に、ウィンドウはビューの上に動作を追加します。したがって、描画したり、境界を設定したり、他のビューを含めたりすることができます。ただし、たとえば、ディスプレイにレンダリングする方法を知ることでこれを拡張します。

MacOS X では、NSWindows はビューではありません。これらには、contentView と呼ばれる「ルート ビュー」が含まれています。iOS ウィンドウは、NSWindow とそのルート ビューの組み合わせです。

于 2011-03-17T12:52:09.563 に答える