更改 UISearchBar 中 UITextField 的大小

Change the size of UITextField inside UISearchBar

我想更改内部文本字段的宽度 UISearchBar 以保持其外观。

我试过 subclass UISearchBar 并在 drawRect 中检查 self.subviews 是一种 class UITextField并更改其宽度,但没有用。

我也在 layoutSubviews 方法中尝试了这个,但仍然不起作用。

我的objective是在UISearchBar的右边有一个UIButton,但是当我写文字的时候,它不能被[=16]重叠=].

只需使用 UItextField 创建自定义搜索栏并设置所需的所有属性。我是用同样的方法做的,即使我尝试了和你一样的方法,但它没有 work.event UItextField 有各种事件,所以你可以根据那个事件实现你的搜索功能。

如果您真的想使用 UISearchBar,请尝试以下步骤:
1.设置UISearchBar的userInteractionEnabled属性为NO
2.在搜索栏上方添加一个UITextField
3.当UITextField的内容改变时,设置搜索栏的文本属性。

更改搜索栏内的文本字段不是一个好主意,因为当新版本ios 出现时,UISearchBar 的结构可能会更改,您的代码可能会出错。