2011-01-14 189 views
0

我很抱歉的图像,但我不知道更好的方式来解释我的问题。 这是我开始申请时的视图,一切都很好。 alt text 这是当我旋转手机,搜索栏顶部现在有点下导航栏。 alt text 我开始搜索并取消它。 alt text 现在搜索栏并未覆盖导航栏,但导航栏的高度较小。 alt text 当我走到垂直视图时,导航栏仍然很小,我在它下面有一个黑洞。 alt text 我找不到为什么发生这种情况,有什么帮助?SearchBar旋转问题

这是我如何创建并添加搜索栏代码:

- (void) loadView 
{ 
    [super loadView]; 

    sBar = [[UISearchBar alloc]initWithFrame:CGRectMake(0,0,320,45)]; 
    sBar.delegate = self; 
    sBar.placeholder = @"Search";  
    self.tableView.tableHeaderView = sBar; 

    UISearchDisplayController *searchDC = [[UISearchDisplayController alloc] initWithSearchBar:sBar contentsController:self]; 

    self.searchDisplayController = searchDC;  

    searchDC.delegate = self; 
    searchDC.searchResultsDataSource = self; 
    searchDC.searchResultsDelegate = self; 

    [sBar release]; 
    [searchDC release]; 
} 

我没有专门用于导航或搜索栏更改旋转的方法什么。

+0

图片没问题,但我们无法帮助没有code/xib – 2011-01-14 09:11:08

+0

我更新了代码的问题,我如何添加搜索栏。 – 1110 2011-01-14 09:23:57

回答

3

验证您的所有视图帧:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 

如果他们都不行设置正确的框架。

0

最简单的解决方案是将UISearchBar添加到UITableView标头。在这种情况下,所有工作人员都将被开箱即用。

在切换视图和旋转时,设置框架会导致UISearchBar宽度问题。我在基于标签的应用中遇到过这个问题。是的,测试用例不容易复制,但它仍然是一个错误。