我将搜索栏添加到导航栏作为左键项目。 我可以将搜索栏的宽度设置为我想要的任何值,但无论我尝试将其设置为什么高度总是相同的。 这是一些代码:
var searchBar = UISearchBar(frame: CGRect(x: 0, y: 0, width: UIScreen.main.bounds.width * 0.7, height:28))
let leftNavBarButton = UIBarButtonItem(customView:searchBar)
tabBarController?.navigationItem.leftBarButtonItem = leftNavBarButton
searchBar.showsCancelButton = false
searchBar.placeholder = NSLocalizedString("VC_SEARCH_PROMPT", comment: "")
searchBar.delegate = self
...
我可以通过UISearchBar构造函数中的width参数设置搜索栏的宽度,但更改height参数的值无效 - 搜索栏的高度始终相同。
答案 0 :(得分:1)
从iOS 11开始,您需要使用约束来调整栏按钮项和标题视图的大小。
searchBar.heightAnchor.constraint(equalToConstant: 28).isActive = true
searchBar.widthAnchor.constraint(equalToConstant: UIScreen.main.bounds.width * 0.7).isActive = true // doubt this is the actual constraint you want though
宣布here.