0

我正在使用 UISearchDisplayController。

当用户在表格中选择一行时,我想隐藏搜索栏。

这是我的尝试:

    

- (void)displaySearchBar:(BOOL)show {
    [UIView animateWithDuration:0.15
                          delay:0
                        options:UIViewAnimationOptionBeginFromCurrentState
                     animations:^{

         [m_searchDisplayController.searchBar setHidden:!show];
         [m_categoriesView.categoriesTable setContentInset:show ?
         UIEdgeInsetsMake(0,0,0,0) : UIEdgeInsetsMake(-CGRectGetHeight(m_searchDisplayController.searchBar.frame),0,0,0)];

         if( show ) {
             [m_categoriesView.categoriesTable setContentOffset:CGPointZero];
         }

    }
    completion:NULL];
}

除非用户旋转设备,否则一切正常。搜索栏是隐藏的,但我在表格顶部有一个黑色空间。

有人有线索吗?

此致,

马丁

4

2 回答 2

0

我猜你的 tableview 没有正确调整大小,所以当搜索栏被删除时,你会看到父视图的背景。

于 2011-11-01T01:23:21.543 回答
0

你为什么不使用

[self.searchDisplayController setActive:NO animated:YES];

而不是所有的代码。这也将删除键盘

于 2012-05-20T15:17:56.523 回答