1

我正在尝试在 iOS 上自定义 UISearchBar 的文本字段,但我遇到了问题。使用以下方法:

[searchBar setSearchFieldBackgroundImage:searchFieldImage forState:UIControlStateNormal];

给了我文本字段中的图像,但它很小。图像只有 40x15 px 尺寸,用于拉伸。我正在按如下方式创建图像:

UIImage *searchFieldImage = [[UIImage imageNamed:@"input_15x40.png"]
                  resizableImageWithCapInsets:UIEdgeInsetsMake(7, 19, 7, 20)];

但是,这种外观修改似乎并没有拉伸图像 - 只是按原样处理。如何使用可拉伸图像自定义 UISearchBar 的文本字段图像?

编辑 我应该说条是水平拉伸的,但它不是垂直拉伸的,因此只有 15px 的高度。

4

2 回答 2

4

我可以在您的代码中看到的唯一问题是您创建了名为 searchFieldImage 的 var 并将其用作 searchField。

这段代码对我有用:

UIImage *searchFieldImage = [[UIImage imageNamed:@"input_15x40.png"]
              resizableImageWithCapInsets:UIEdgeInsetsMake(7, 19, 7, 20)];

[searchBar setSearchFieldBackgroundImage:searchFieldImage forState:UIControlStateNormal];

-

编辑:

在高度中,图像不会被拉伸,因为图像的高度会设置包裹它的视图的高度。

于 2012-12-12T19:00:02.823 回答
0
let searchTextField = searchBar.valueForKey("_searchField") as? UITextField
searchTextField?.backgroundColor = UIColor.redColor()
于 2015-08-20T10:54:14.727 回答