如何在iPhone中更改UITextView上次输入的文字颜色?
我有一个UITextView用于输入照片的评论。 当用户在UITextView中输入文本时,输入的最后一个文本应为深灰色,其他文本应为正常颜色。 一旦用户输入Space,最后输入的单词/文本应变为黑色(正常)颜色。
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指出的单个单词。 至于彩色文字,我不确定,但我认为你要编写一个自定义类来改变文本颜色。我希望它有所帮助。