問題描述:
問題1:當一個navigation導航進入到UITabBarController TabBar裡面有多個頁面,頁面下有tableView,當我進入Tableview的時候,上面兩行table給擋住了,當我點擊進去返回回來又沒有可以看得見了,發現table向上的是44PT剛好是一個top bar 的位置。(但是從這個頁面的父頁面push到這個頁面還是被擋住了,但是我從這個頁面的子頁面pop出來又不會被擋住)
問題2:做UISearchBar,UISearchDisplayController時遇到了一個問題,在點擊搜索欄時陰影部分的位置出現偏差
代碼如下復制代碼
- (void)viewDidLoad {
[superviewDidLoad];
//self.automaticallyAdjustsScrollViewInsets = NO;
self.edgesForExtendedLayout = UIRectEdgeNone;
}
在iOS 7中,蘋果引入了一個新的屬性,叫做[UIViewController setEdgesForExtendedLayout:],它的默認值為UIRectEdgeAll。當你的容器是navigation controller時,默認的布局將從navigation bar的頂部開始。這就是為什麼所有的UI元素都往上漂移了44pt。
修復這個問題的快速方法就是在方法- (void)viewDidLoad中添加如下一行代碼:
代碼如下復制代碼 self.edgesForExtendedLayout = UIRectEdgeNone;這樣問題就修復了。