UITableViewController
コンテンツビューコントローラーとしてa を持つポップオーバーがあります。テーブル ビューには、UISearchBar
ヘッダー ビューとして があります。
iOS 6 では、UISearchDisplayController
がアクティブになるとすべてが正常に表示されます。ただし、iOS 7 では、検索バーの上に余分なスペースがあります。
では、iOS 7 の検索バーの上にあるこの余分なスペースを取り除くにはどうすればよいでしょうか?
UITableViewController
コンテンツビューコントローラーとしてa を持つポップオーバーがあります。テーブル ビューには、UISearchBar
ヘッダー ビューとして があります。
iOS 6 では、UISearchDisplayController
がアクティブになるとすべてが正常に表示されます。ただし、iOS 7 では、検索バーの上に余分なスペースがあります。
では、iOS 7 の検索バーの上にあるこの余分なスペースを取り除くにはどうすればよいでしょうか?
解決策は、 のプロパティedgesForExtendedLayout
をに設定するUITableViewController
ことUIRectEdgeNone
です。
- (void)viewDidLoad {
[super viewDidLoad];
if ([self respondsToSelector:@selector(edgesForExtendedLayout)]) { /// iOS 7 or above
self.edgesForExtendedLayout = UIRectEdgeNone;
}
}
このプロパティの値UIRectEdgeAll
はデフォルトです。つまり、ビューのすべての端が拡張されて、ステータス バー用の余分なスペースが確保されます (検索バーの上のスペースの高さは、ステータス バーの高さと同じ 20px です)。