带有范围栏的 UITableView 上的 UISearchBar 在其他 UI 项上调整自身大小
Posted
技术标签:
【中文标题】带有范围栏的 UITableView 上的 UISearchBar 在其他 UI 项上调整自身大小【英文标题】:UISearchBar on UITableView with scope bar resizes itself over other UI items 【发布时间】:2015-05-28 09:19:44 【问题描述】:好的,所以我在 UISearchBar 下方有一个 UITableView。上面只是一些 UILables 和 UIButtons,然后是 UINavigationBar。
UISearchBar 启用了范围栏。每当我点击搜索栏时,都会出现以下奇怪的行为(我已禁用屏幕键盘,但焦点位于 UISearchBar 文本字段中):
通常看起来像这样:
这真的很令人沮丧,我不知道为什么会这样。有没有人经历过类似的事情并找到了解决方案?
谢谢!
【问题讨论】:
检查您的搜索栏及其在 nib 文件中的范围。 你是如何将搜索栏和标题标签添加到UITableView
的?
UITableView 和 UISearchBar 是独立的实体,我刚刚将 UISearchBar 的委托设置为 UITableView。标题标签只是添加到 UIView 上的 UILabel。在 Storyboard 文件中,UISearchBar 很合适,但不显示 Scope 栏。
尝试在视图层次结构的标题视图下方添加搜索栏。
【参考方案1】:
这是一个麻烦,但这是我能想到的最好的。我只是将以下内容放在 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;
【讨论】:
以上是关于带有范围栏的 UITableView 上的 UISearchBar 在其他 UI 项上调整自身大小的主要内容,如果未能解决你的问题,请参考以下文章
带有搜索栏的 UITableView 作为 inputView
无论如何用数组填充 UITableView 但保留复选标记?
带有黑色半透明状态栏的 iPhone 上的 Web 应用程序:视口高度似乎是错误的
带有 UITapGestureRecognizer 的 UIView 上的 UITableView(单元格选择不起作用)