【问题标题】:UISearchBar in iOS 8 - UI displacementiOS 8 中的 UISearchBar - UI 置换
【发布时间】:2015-07-16 17:34:05
【问题描述】:

我有 UINavigationItem,我想将 UISearchBar 添加到它。以下是我的做法:

let searchBar = UISearchBar(frame: CGRectMake(0, 0, self.navigationController!.navigationBar.bounds.width, self.navigationController!.navigationBar.bounds.height))
//searchBar.sizeToFit()
searchBar.showsCancelButton = true
let barWrapper = UIView(frame: searchBar.frame)
barWrapper.addSubview(searchBar)
self.navigationItem.titleView = barWrapper

这是结果:

这里有什么问题?

【问题讨论】:

    标签: ios swift uinavigationbar uisearchbar uinavigationitem


    【解决方案1】:

    sizeToFit() 将使 UIScrollView 大到足以容纳其子视图。

    您需要调整它的大小以适应导航栏以消除间隙。

    编辑

    如果您不使用导航栏进行导航,请尝试将搜索栏直接放在您的视图中。这样您就可以完全控制框架。

    【讨论】:

    • P.S. UISearchBar 是 UIView 的子类,因此您可能不需要在将其设置为 titleView 之前将其放入另一个 UIView。
    • 如果你之后调用 sizeToFit() ,你用框架初始化它并不重要。 sizeToFit() 改变框架。
    • 抱歉,我明白了,再次更新问题 - 一样
    • 可能是titleView从navigationBar的frame左侧有位移。是否需要将搜索栏放在导航栏中?
    • 好的,怎么放到导航栏上
    猜你喜欢
    • 2015-02-08
    • 1970-01-01
    • 2014-01-01
    • 1970-01-01
    • 2014-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多