繁体   English   中英

如何更改UITextView在iPhone中最后输入的文本颜色?

[英]How to change UITextView last entered text color in iPhone?

我有一个UITextView用于输入照片的注释。 当用户在UITextView中输入其文本时,最后输入的文本应为深灰色,其他文本应为常规颜色。 一旦用户输入了空格,最后输入的单词/文本应更改为黑色(正常)颜色。

UITextView text eg: iPhone is an apple product. Product should be in Dark gray color others in black color. Once user enter space the all entire words in black color.

如何检测最后输入的单词以及如何更改特定的最后输入单词的文本颜色?

编辑:

我正在尝试此源代码。

-(void) textViewDidChange:(UITextView *)textView
{
   NSArray *lastTextArray = [textView.text componentsSeparatedByCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];

   lastStringInTextView = [lastTextArray objectAtIndex:lastTextArray.count - 1];
   NSLog(@"LastText : %@", lastStringInTopTextView);

   textView.textColor = [UIColor orangeColor];
}

我认为您需要定义一个侦听器(从您输入的文本字段开始),它将在您的文本输入中查找空格字符(意味着' ' )。 文本的颜色和类型可以像yourTextField.font=[UIFont boldSystemFontOfSize:24]直到侦听器检测到空格,并且当它检测到空格必须更改为正常(并且必须开始将新字符串键入为yourTextField.font=[UIFont boldSystemFontOfSize:24] ...)注意:这可能不是我想开始回答的真正方法但是您已经问过任何想法。 我希望这有帮助

编辑:这需要一个好的算法,也将以相同的方法使用块来完成这项工作。 必须设计算法,以便接受任何' '字符作为文本字段的开头。

您可以使用这些委托方法

- (void)textViewDidBeginEditing:(UITextView *)textView;
- (void)textViewDidEndEditing:(UITextView *)textView;

然后,您可以按照ilhan在上一个答案中指出的检查单词。 至于彩色文本,我不确定,但我认为您必须编写一个自定义类来更改文本的颜色。希望对您有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM