我試圖瞭解當觸發通話狀態欄時,與UITabBarController
,UINavigationController
或UIViewController
相關聯的view
如何反應。
我的問題是,他們似乎表現不同,這使我的副作用....In-Call狀態欄如何影響UIViewController的視圖大小? (以及如何正確處理)
我做了改變窗口的根視圖控制器爲3種以上的一個項目,我轉儲description
view
獲取幀座標。
UIViewController
門店狀態OFF:
UIView: 0x4e2a1f0; frame = (0 20; 320 460); autoresize = W+H; ....ON
UIView: 0x4e2a1f0; frame = (0 40; 320 440); autoresize = W+H; ...
這一次我明白了:門店狀態欄出現時,在的UIViewController的視圖的寬度縮小,從而失去20,其從20歲座標移動到40
這是完美的!我希望在用UITabBarController
或UINavigationController
替換經典的UIViewController
時也是如此,但事實並非如此!
UINavigationController
門店狀態欄OFF
UILayoutContainerView: 0x4b35ab0; frame = (0 0; 320 480); autoresize = W+H; ..ON
UILayoutContainerView: 0x4e1b060; frame = (0 0; 320 480); autoresize = W+H; ..
在這種情況下,由UINavigationController處理的視圖在切入狀態欄切換時沒有更改其框架屬性? (爲什麼?:()
UITabBarController
OFF
UIView: 0x4b2f6a0; frame = (0 20; 320 460); autoresize = W+H; ...ON
UIView: 0x4b2f6a0; frame = (0 20; 320 460); autoresize = W+H; ...
相同的UINavigationController
:在切入狀態欄切換時,UITabBarController
的view
似乎不受影響。
有人能解釋我這個調整大小的顯示出現在門店狀態欄時,是如何工作的?
我的最終目標是顯示一個UIView
,顯示爲高於整個UITabBarController
並且在顯示通話狀態時正確調整大小。不過,我真的不知道該往哪裏放這樣的觀點在視圖層次結構:如果我將其添加爲的UITabBarController的視圖的孩子,因爲這一個不向門店狀態顯示的反應,我的沒有反應,以及: (
+1關心這個。 – 2011-10-27 14:21:26