我做了一個自定義的吐司庫(非常簡單,只是一個框出現在導航欄下)。在iOS 6中這是我的目標羣體正常工作。但是自iOS 7發佈以來,它無法正確顯示。如何解決iOS 7狀態欄的高度和寬度問題
我試圖修復它是通過這個代碼的方式:
if(SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"7,0")){
self.offset = [UIApplication sharedApplication].statusBarFrame.size.height + self.viewController.navigationController.navigationBar.frame.size.height;
}
我做了一個宏可以在Stack Overflow上找到以檢測是否iOS版本爲7,然後添加狀態欄的高度和導航高度。這在iOS 7中的縱向模式下正常工作,但是當我切換到橫向偏移量時,它變爲512 ?.
有沒有人可以解釋這種情況發生,我怎麼能解決這個問題?
決定拆分代碼,因爲評論,看看究竟是什麼導致了差異。我做的是:
CGFloat statusBarHeight = [UIApplication sharedApplication] .statusBarFrame.size.height;
CGFloat navBar = self.viewController.navigationController.navigationBar.frame.size.height;
self.offset = statusBarHeight + navBar;
NSLog(@"Init - statusBarHeight: %f, navBar: %f", statusBarHeight, navBar);
事實證明某種原因狀態欄處於縱向20和橫向是480
這是因爲高度和寬度轉身,答案來自評論
我的猜測是,在景觀[UIApplication的sharedApplication] .statusBarFrame.size.width和[UIApplication的sharedApplication] .statusBarFrame.size.height值切換 –
這是真的,謝謝,如果你可以發表你的答案,我可以接受它 – Haagenti