我有以下代码在 iOS5 下工作,用于将 UISearchBar 放在 iPad 上 UITableView 的顶部:
- (void)viewDidLoad
{
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
CGRect searchViewFrame = CGRectMake(33, 33, 264, 45);
UIView *containerSearch = [[UIView alloc] initWithFrame: searchViewFrame];
searchBar = [[UISearchBar alloc] init];
searchBar.barStyle = UIBarStyleDefault;
[containerSearch addSubview: searchBar];
self.tableView.tableHeaderView = containerSearch;
searchController = [[UISearchDisplayController alloc]
initWithSearchBar:searchBar
contentsController:self];
searchBar.delegate = self;
searchController.delegate = self;
searchController.searchResultsDelegate=self;
searchController.searchResultsDataSource=self;
[searchBar release];
}
然而,在 iOS6 下,这段代码的行为很奇怪。当 iPad 以横向模式启动时,UISearchBar 处于屏幕外。在将 ipad 旋转为纵向并转回横向之前,它不会出现在正确的位置。
这只是一个 iOS6 错误还是关于如何修复它的任何建议?
谢谢 !