隨着iOS 7的問世,偏移高度現在需要包含頂部狀態區域的高度。否則,iOS7設備將有20個像素的webview仍然隱藏在導航欄下。
在需要支持的iOS 7及以上設備的一個項目,像一個宏發現 here:
#define SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedAscending)
是非常有用的。 一種改進的上面列出zerotool的有用的代碼版本,現在可能看起來像這樣:
if (self.navigationController != nil && self.navigationController.navigationBar.translucent) {
top = self.navigationController.navigationBar.bounds.size.height;
if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"7.0")) {
top += [[UIScreen mainScreen] applicationFrame].origin.y;
}
}
// (etc.)
你是如何做到這一點的'不要通過觸摸到uiwebview'? – dotnetcoder 2011-10-12 03:43:23
這可能不是最簡單的方法來實現這一點,尤其是如果你的目標是iOS 5+(UIWebView scrollView.contentInset完成這個乾淨)。通過zerotool查看答案。對於iOS 4,您可以迭代UIWebview子視圖以可靠地訪問相同的UIScrollView。 – Prometheus 2012-02-13 19:21:09
這是一個非常非常老的q和 – coneybeare 2012-02-13 21:21:59