2011-02-09 99 views

回答

7

navigationController只是一個便利的屬性UIViewController,讓您訪問視圖控制器包含導航控制器,如果它有一個。由於UINavigationController延伸UIViewController,它也具有view屬性。請參閱Getting Other Related View Controllers的文檔UIViewController的類參考,以獲取UIViewController可能具有的其他視圖控制器參考列表。

  • self.navigationController.view.frame給你導航控制器的視圖的幀
  • self.view.frame給你視圖控制器的視圖的幀

的導航控制器的視圖幀,比任何其容器視圖控制器的大查看框架,因爲它包含導航欄和狀態欄。

希望這有助於澄清一些事情!

+0

+1爲盧卡斯........ – Sabby 2011-02-10 11:00:13

0

我不確定我是否理解你的視圖控制器的關係,但一般而言,view.frame返回一個CGRect,其座標(原點(x,y)和大小(寬度,高度))相對於視圖超視圖。所以,如果你的navigationController是派生UIViewController的父視圖,那麼在該控制器中調用'self.view.frame'將返回相對於navigationController的座標。調用self.navigationController.view.frame將返回其相對於其超視圖的座標,無論可能如何。