【问题标题】:iOS7 UISearchBar not displaying correctlyiOS7 UISearchBar 无法正确显示
【发布时间】:2014-08-02 11:58:42
【问题描述】:

我试图在 TableView 中放置一个搜索栏,它是一个简单 ViewController 的子视图。编译出来的结果是这样的:Screenshot

现在一切正常,我可以正确搜索。问题是我搜索某些内容时出现的视觉故障:Screenshot

我想要的只是搜索栏进入屏幕顶部,或者更好的是我的标题不会消失。

【问题讨论】:

  • header是UITableView的Header还是自定义的header?
  • 我在 ViewController 中放置了一个 TableView,如下所示:Screen

标签: ios objective-c uisearchbar


【解决方案1】:

当搜索栏开始编辑时(当键盘出现时),将带有动画的搜索栏框架设置在屏幕顶部。就这样-

-(void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar{
CGRect frame=searchBar.frame;
frame.origin.y=0;

[UIView animateWithDuration:1.0 animations:^{
    searchBar.frame=frame;
}];
}

【讨论】:

  • 我必须把它放在方法 shouldReloadTableForSearchString 中?
  • 不,而是在 UISearchBar 委托方法中——searchBarTextDidBeginEditing:当用户点击搜索栏时调用。
  • 酒吧只是不从他的位置移动。我试过以下代码:- (void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar { NSLog(@"beginEditing"); CGRect frame = searchBar.frame; frame.origin.x = 0; [UIView animateWithDuration: 1.0 animations:^{ searchBar.frame=frame; }]; }
  • 抱歉,请将 origin.x 替换为 origin.y
  • 很抱歉,您的代码没有任何改变。和以前一样的问题。
猜你喜欢
  • 2015-06-18
  • 2014-06-21
  • 1970-01-01
  • 2013-09-17
  • 1970-01-01
  • 2015-02-27
  • 2013-10-02
  • 2014-04-23
  • 2018-06-09
相关资源
最近更新 更多