从iOS 13开始无法更改UISearchTextField的大小

时间:2019-10-10 20:21:35

标签: swift uisearchbar ios13

自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)
}

在iOS 12及更低版本上的外观: enter image description here

在iOS 13上的外观(不起作用): enter image description here

感谢您的帮助。

0 个答案:

没有答案