带角半径的UITextView:输入的白色背景本身与圆角重叠

时间:2012-04-11 11:03:47

标签: objective-c ios uitextfield

我正在尝试在具有大角半径的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]];

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

Screenshot of the problem

我尝试了几件事:

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];

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

1 个答案:

答案 0 :(得分:2)

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

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

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