HIG(第47頁)說我必須能夠處理在電話或錄音過程中出現的雙高度狀態欄。如何檢測雙高度狀態欄?
我到底該如何處理這種情況?
我真的只有一個屏幕,其中帶有工具欄的鍵盤在雙高度狀態欄顯示時位於文本框下方 - 在其他屏幕上,事情只是有點縮小但可用。
如果我可以檢測到雙高度狀態欄存在,我可能可能調整文本框的位置或使它們暫時更短,但可以檢測雙高度狀態欄是否在那裏?
編輯:也許如果有一種方式來獲得已知事物的絕對座標,如導航欄,並且如果它是+20像素關閉,我會假設雙高度狀態欄存在。思考?
和次要問題,如果這個(或任何東西)的作品,我只是想用
[[UIApplication sharedApplication] setStatusBarHidden:YES animated:NO]
隱藏常規狀態欄,但我並不想隱瞞都 - 基本上是一個偷懶的方法不必觸摸我的任何一個屏幕 - 如果雙重存在,通過隱藏常規狀態欄再次使它成爲一個單獨的屏幕。上面的代碼會隱藏兩者嗎?
這是否會解決用戶處於打電話或在錄音的過程中,THEN進入我的應用程序?或者它只會在應用中監控一次更改? – 2010-08-06 02:20:25
好的,也許你可以檢查UIApplicationStatusBarFrameUserInfoKey – 2010-08-06 03:37:15
感謝指出我在正確的方向。在進入應用程序之前處理呼叫始發,在某些viewDidLoad的我只是檢查狀態欄框架的大小 - 如果超過20,相應地假定正在進行調用和大小視圖。我在代表遇到問題。當方法放在我的AppDelegate中時,它會觸發,而不是在我需要的類中時,即使我在該類中採用UIApplicationDelegate,也不知道如何處理在每個類中開始或結束的調用 - 從在我想改變視圖的類的AppDelegate中的方法? – 2010-08-06 18:38:14