作者:mobiledu2502900505 | 来源:互联网 | 2023-01-31 20:40
在iOS 11中,searchBars默认为左对齐文本.虽然这对iOS的其他原生更改看起来很好,但它并不适合我的设计,我希望它像以前一样成为中心.
我找不到任何这样的对齐属性UISearchBar
.我错过了什么,或者根本不可能?我是否必须创建自己的自定义搜索栏,例如从a派生UITextField
来实现此目的?
1> 小智..:
我有完全相同的问题 - 我很难理解为什么默认对齐将被更改而不允许我们轻松地将其设置回中心.
以下适合我(斯威夫特):
let placeholderWidth = 200 // Replace with whatever value works for your placeholder text
var offset = UIOffset()
override func viewDidLoad() {
offset = UIOffset(horizontal: (searchBar.frame.width - placeholderWidth) / 2, vertical: 0)
searchBar.setPositionAdjustment(offset, for: .search)
}
func searchBarShouldBeginEditing(_ searchBar: UISearchBar) -> Bool {
let noOffset = UIOffset(horizontal: 0, vertical: 0)
searchBar.setPositionAdjustment(noOffset, for: .search)
return true
}
func searchBarShouldEndEditing(_ searchBar: UISearchBar) -> Bool {
searchBar.setPositionAdjustment(offset, for: .search)
return true
}