带有范围栏的UITeView上的UISearchBar会自行调整其他UI项目的大小

时间:2015-05-28 09:19:44

标签: ios objective-c uitableview uisearchbar

好的,所以我在UISearchBar下面有一个UITableView。上面只是一些UILables和UIButtons,然后是UINavigationBar。

UISearchBar已启用范围栏。每当我点击搜索栏时,我都会遇到以下奇怪的行为(我已禁用屏幕键盘但焦点位于UISearchBar文本字段中):

Odd search bar behaviour

通常看起来像这样:

How it should look

这真的令人沮丧,我无法解决它为什么会发生的事情。有没有人经历过类似的事情并找到了解决方案?

谢谢!

1 个答案:

答案 0 :(得分:0)

这是一个小屋,但它是我能想到的最好的。我只是将以下内容放在viewWillAppear中,然后手动创建一个44px高的背景图像并将其放在故事板上的UISearchBar后面。

-(void)viewWillAppear:(BOOL)animated
{
    [self.searchBar sizeToFit];
    for (UIView *subview in self.view.subviews) {

        for(UIView *subView2 in subview.subviews){

            for(UIView *subView3 in subView2.subviews){
                if ([[[subView3  class] description] isEqualToString:@"UISearchBarBackground"]) {
                   [subView3 removeFromSuperview];
                   break;
                }
            }
        }
    }
}