我目前在普通的UIViewController中有一个UISearchBar。 SearchBar或多或少位于UIView的中间,当我点击输入一些文字时,我的tableView完全重叠了searchBar,我无法点击清除/取消按钮:我不是再看到搜索栏。 当我将我的搜索栏完全移动到我的视图顶部时,它是完美的。但是我用Storyboard做到了。如何以编程方式完成相同的操作?将SearchBar移动到视图的顶部顶部。
非常感谢你的帮助
答案 0 :(得分:0)
我建议您查看UISearchController
(iOS 8+)。来自Apple Docs:
UISearchController类定义了一个管理它的接口 与搜索结果一致地显示搜索栏 控制器的内容。
可以找到Apple文档here。
如果您坚持手动操作,可以尝试按如下方式设置自动布局约束,将SearchBar始终放在TableView的顶部:
[self addConstraint:[NSLayoutConstraint constraintWithItem:_searchBar
attribute:NSLayoutAttributeBottom
relatedBy:NSLayoutRelationEqual
toItem:_myTableView
attribute:NSLayoutAttributeTop
multiplier:1.0
constant:0.0]];
答案 1 :(得分:0)
您有3个选项:
[self.view insertSubview:yourSearchBar aboveSubview:yourTableView];
[parentView bringSubviewToFront:yourSearchBar];
[self.view insertSubview:yourSearchBar atIndex:0];
顺便说一下 - 当您使用故事板创建它们时,来回跳转的所有问题,所以以编程方式更好地进行。