今天在作UISearchBar,UISearchDisplayController時遇到了一個問題,在點擊搜索欄時陰影部分的位置出現誤差ios
以下圖:xcode
始終以爲很奇怪,後面單獨作了一個demo,將一樣的代碼拷過去發現顯示正常的。佈局
而後再逐一查看代碼看到以下:spa
發現可疑之處,Google之iOS 7 教程:讓程序同時支持iOS 6和iOS 7,找到答案。.net
緣由:code
[UIViewController setEdgesForExtendedLayout:],它的默認值爲UIRectEdgeAll
。當你的容器是navigation controller時,默認的佈局將從navigation bar的頂部開始。這就是爲何全部的UI元素都往上漂移了44pt。blog
- (void)viewDidLoad中添加以下一行代碼:教程
1
|
self.edgesForExtendedLayout = UIRectEdgeNone; |
這樣問題就修復了。ip