9

UITableViewControllerコンテンツビューコントローラーとしてa を持つポップオーバーがあります。テーブル ビューには、UISearchBarヘッダー ビューとして があります。

iOS 6 では、UISearchDisplayControllerがアクティブになるとすべてが正常に表示されます。ただし、iOS 7 では、検索バーの上に余分なスペースがあります。

iOS 7 の検索バーの上の余分なスペース

では、iOS 7 の検索バーの上にあるこの余分なスペースを取り除くにはどうすればよいでしょうか?

4

1 に答える 1

26

解決策は、 のプロパティedgesForExtendedLayoutをに設定するUITableViewControllerことUIRectEdgeNoneです。

- (void)viewDidLoad {
    [super viewDidLoad];

    if ([self respondsToSelector:@selector(edgesForExtendedLayout)]) { /// iOS 7 or above
        self.edgesForExtendedLayout = UIRectEdgeNone;
    }
}

このプロパティの値UIRectEdgeAll はデフォルトです。つまり、ビューのすべての端が拡張されて、ステータス バー用の余分なスペースが確保されます (検索バーの上のスペースの高さは、ステータス バーの高さと同じ 20px です)。

于 2013-09-22T15:07:52.073 に答える