1

我有以下代码在 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 错误还是关于如何修复它的任何建议?

谢谢 !

4

1 回答 1

0

您是否尝试过使用框架初始化搜索栏?searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0,0,265,45)];

于 2013-01-28T12:53:18.147 回答