自iOS 13起,我无法更改UISearchBar文本字段的大小。 似乎通过新的API更改searchTextField框架对文本字段没有影响,即使变量实际发生了更改(在调试器中可见且其他文本字段已移动)。
此代码在iOS 12及更低版本上有效,但在iOS 13上无效:
if #available(iOS 13.0, *) {
let searchTextField: UISearchTextField = self.searchTextField
searchTextField.frame = CGRect(x: 8, y: 4, width: self.frame.size.width - 20 - 148, height: 36)
self.timeStampTextField.frame = CGRect(x: (searchTextField.frame.size.width) + 12, y: 10, width: 148, height: 36)
}
else {
let searchField: UITextField? = self.value(forKey: "_searchField") as? UITextField
searchField?.frame = CGRect(x: 8, y: 4, width: self.frame.size.width - 20 - 148, height: 36)
self.timeStampTextField.frame = CGRect(x: (searchField?.frame.size.width ?? 300) + 12, y: 4, width: 148, height: 36)
}
感谢您的帮助。