如何更改UITextField clearButton的颜色?

ser*_*g90 6 iphone xcode interface objective-c uitextfield

我想更改在UItextField上写入时显示的clearButton的颜色.有什么建议吗?我不是一个高级界面开发人员,我不知道如何做到这一点.

Gio*_*lis 22

你应该创建自己的UIButton(带图像,你需要一个你想要的按钮),实例并将这个按钮放在你的UITextField的右侧视图中.

CGFloat myWidth = 26.0f;
CGFloat myHeight = 30.0f;
UIButton *myButton = [[UIButton alloc] initWithFrame:CGRectMake(0.0f, 0.0f, myWidth, myHeight)];
[myButton setImage:[UIImage imageNamed:@"myButtonImage"] forState:UIControlStateNormal];
[myButton setImage:[UIImage imageNamed:@"myButtonImage"] forState:UIControlStateHighlighted];

[myButton addTarget:self action:@selector(doClear:) forControlEvents:UIControlEventTouchUpInside];

myTextField.rightView = myButton;
myTextField.rightViewMode = UITextFieldViewModeUnlessEditing;
Run Code Online (Sandbox Code Playgroud)

您可能需要使用(这些是示例值)来优化对齐:

myButton.imageEdgeInsets = UIEdgeInsetsMake(0, -10, 0, 0);
Run Code Online (Sandbox Code Playgroud)

然后,您将需要实现方法 - (void)doClear(id)sender; 这将清除你的文本域.