UISearchBar AutoLayout ios7 错误?

Posted

技术标签:

【中文标题】UISearchBar AutoLayout ios7 错误?【英文标题】:UISearchBar AutoLayout ios7 bug? 【发布时间】:2013-10-03 05:25:38 【问题描述】:

我正在使用 AutoLayout,并且有一个 UISearchBar、UITableView 和一个 UIView。最初布局是正确的并根据我的 AutoLayout 规则定位。

当 UISearchBar 获得焦点时,它会突然扩展高度,覆盖我的顶部 UIView。

无论我如何布局我的自动布局约束,都会发生这种情况。

如果我不设置

self.searchBar.translatesAutoresizingMaskIntoConstraints = NO;

并设置一个框架,然后它的行为正常。

self.searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0, 0, 100.0f, 45.0f)];

但我依赖于 ios7 应用程序中的 AutoLayout。这是一个真正的错误吗?或者很可能我错过了什么!

【问题讨论】:

您可以在 UISearchBar 视图中添加高度限制。 是的,我已经尝试将其作为附加约束,产生零差异。 您是否在 UISearchBar 视图中添加了顶部、前导、尾随和高度约束? 你好@JMWhittaker,你解决了这个问题吗? 【参考方案1】:

遇到了同样的问题。在 viewDidLoad 中试试这个

if (floor(NSFoundationVersionNumber) > NSFoundationVersionNumber_iOS_6_1) 
    self.edgesForExtendedLayout = UIRectEdgeNone;

【讨论】:

这对我的布局没有帮助,但我明白你的想法。

以上是关于UISearchBar AutoLayout ios7 错误?的主要内容,如果未能解决你的问题,请参考以下文章

显示 searchResultsController 时出现 UISearchBar AutoLayout 错误

iOS学习—— UISearchBar的使用

iOS开发之UISearchBar初探

ios UISearchBar搜索框的基本使用

iOS 7 中的 UISearchBar 外观问题

IOS Autolayout