0

我正在尝试在objective-c 中创建一个具有大角半径的文本字段,例如iOS 中的searchField。在我的 xib 中,我添加了一个 UITextField。我像这样在objective-C中设置文本字段的样式:

// corner radius
textField.layer.cornerRadius = 20.0f;
textField.layer.masksToBounds = YES;
textField.backgroundColor = [UIColor clearColor];

[textField setFont:[UIFont fontWithName:@"Univers-Condensed-Medium" size:18.0]];

结果:输入的角落不可见,一些白色背景覆盖了这些角落。您可以在此图像中看到问题:

问题截图

我尝试了几件事,例如:

textField.leftView.opaque = NO;
textField.leftView.backgroundColor = [UIColor clearColor];

textField.inputView.opaque = NO;
textField.inputView.backgroundColor = [UIColor clearColor];

textField.rightView.opaque = NO;
textField.rightView.backgroundColor = [UIColor clearColor];

我什至添加了一个图标(仅用于测试)都给出了相同的结果。我需要做什么才能使角落可见?

4

1 回答 1

2

我做了一些测试,没有白色背景重叠,这就是当你改变角半径时文本字段的样子。尝试更改文本字段所在的 UIView 的背景颜色,并看到它总是这样。

不幸的是,如果您想更改cornerRadius并希望它以您在此处发布的方式显示,也许您需要使用一些背景图片,我不知道。

如果我是你,我将使用没有cornerRadius 的textField。

于 2012-04-11T11:49:45.910 回答