UISearchBar动画问题

luc*_*uca 19 uitableview uisearchbar uisearchdisplaycontroller ios7

我有一个UIViewController,我想用serchBar显示一个tableview.就如此容易:

//viewDidLoad
_tableView = [[UITableView alloc] initWithFrame:CGRectMake(0,
                                                           0, 
                                                           SCREEN_WIDTH(),
                                                           SCREEN_HEIGHT())
                                                    style:UITableViewStylePlain];
_tableView.delegate = self;
_tableView.dataSource = self;

[self.view addSubview:_tableView];

// adding uisearch bar
searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0, 0, 320, 44)];

_tableView.tableHeaderView = searchBar;



//
 searchDisplayController = [[UISearchDisplayController alloc] initWithSearchBar:searchBar contentsController:self];
searchDisplayController.delegate = self;
searchDisplayController.searchResultsDataSource = self;
Run Code Online (Sandbox Code Playgroud)

当我在uisearch栏内单击以便动画开始并且看起来它具有20px不需要的偏移时,就会出现问题

Fir*_*gab 15

在Storyboard中,选择有问题的控制器,查看"属性"选项卡并尝试修改此设置:

  • 在顶部酒吧
  • 在不透明的酒吧

我解决了类似的问题,解除了这个设置.


cod*_*yko 8

我找到了导致这个问题的原因.当您将navigationBar.translucent设置为NO时,似乎动画会搞乱.如果你使navigationBar半透明,一切都应该工作正常,但这绝对不是一个理想的解决方案.我打算尝试找一个解决方法.


luc*_*uca 1

作为对有类似问题的人的提醒。我需要添加这一行来修复问题:

self.edgesForExtendedLayout = UIRectEdgeNone;
Run Code Online (Sandbox Code Playgroud)