我有一个UITextView,用户可以在其中输入文本。假设用户已经输入了一个值。如何通过单击按钮将已键入文本和未来键入文本的字体颜色更改为不同的字体颜色?
我已经将其设置为可以更改文本的颜色,但它只有在我开始键入之前选择颜色时才起作用。在我开始输入并尝试更改颜色后,它什么也不做。
我有这个:
-(IBAction)changeInkColor:(id)sender
{
[inkTextField setTextColor:[UIColor greenColor]];
inkTextField.text=@"text";
}
这实际上是有效的,只有当视图中没有文本时,才会以绿色显示“文本”。然而,如果我输入一些东西,然后点击这个按钮,什么也不会发生。
发布于 2011-08-21 03:44:33
我刚刚试过了,没有任何问题。我设置了一个名为[myTextView setTextColor:[UIColor redColor]];
的按钮
在用黑色文本颜色输入一点后,我按下按钮,一切都变成了红色。然后我继续打字,全是红色的。
你也在使用setTextColor:
来做这件事吗?
发布于 2017-04-18 02:45:01
您可以(至少在Xcode8.2中)在IB中通过切换textColor按钮(行中的第六个按钮)来修复此问题。选择此按钮后,如果在视图中输入文本之前以编程方式设置textColor,则颜色将“粘滞”。我还没有找到一种优雅的方法来在文本视图上编程设置它。
但是,您也可以在代码中解决此问题:
textView.text = @" ";
textView.textColor = UIColor.redColor;
textView.text = @"";
发布于 2013-08-27 21:50:36
我遇到了和你一样的问题,然后我意识到文本没有改变颜色,默认情况下是红色的,因为我这样做了:
placeholder = @"Welcome";
而不是
WelcomeField.text = @"Welcome";
希望能有所帮助
https://stackoverflow.com/questions/7134152
复制相似问题