2011-04-16 43 views
0

我有點困惑爲UIWIndow目前不尋常的視圖層。在UIKit視圖混淆層

如果任何一個指的是用於一個UIWindow蘋果UIKit的參考然後UIView的是一個UIWindow

NSObject-> UIResponder-> UIView->的UIWindow超類。

但是,當在XCode中創建一個新項目時,只有一個MainWindows.xib,它包含項目中其餘的視圖。這意味着UIWindow是UIView的超類。因此,UIWindow是child以及Parent UIView.Thats非常混亂的任何一個。

所以任何人都可以有與此相關的清晰的想法。

+0

'Parent'是一個超載的術語。在談到繼承時,父類與超類相同,所以'UIView'是'UIWindow'的父類或超類。在討論聚合或組合時,父類是其實例包含其他實例的父類,如包含其他視圖的視圖(或窗口)。在Cocoa中,這個命名是superview(一個包含其他視圖的視圖)和子視圖(包含在另一個視圖中的視圖)。兩個定義都是正交的,彼此獨立。 – 2011-04-16 09:12:04

回答

2

不要混淆繼承層次結構和視圖層次結構。

UIView實例可以有許多UIView類型的子視圖,所以UIWindow是UIView,因此它可以包含其他UIViews作爲子視圖。

查看所有其他UI組件,如UIButton或UILabel,它們都是從UIView繼承的,因此您可以將它們作爲子視圖添加到視圖中。