如何在iPhone中更改UITextView上次输入的文字颜色?

时间:2012-02-09 09:46:03

标签: iphone ios text uitextview textcolor

我有一个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];
}

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

您可以使用这些委托方法

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

然后,您可以检查上一个答案中指出的单个单词。 至于彩色文字,我不确定,但我认为你要写一个自定义类来改变文字颜色。我希望它有所帮助。