【问题标题】:How to change UITextView last entered text color in iPhone?如何在 iPhone 中更改 UITextView 最后输入的文本颜色?
【发布时间】:2012-02-09 09:46:03
【问题描述】:

我有一个 UITextView 用于输入照片的 cmets。当用户在 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];
}

【问题讨论】:

  • 有人知道吗?请帮助我的问题。谢谢。
  • 还有一个问题:这个 cmets 会显示在 UIWebView 上还是只显示在 UIPhoto 等上?
  • @ilhançetin 谢谢。只是我将 UITextView 放在 UIViewController 中。这就是我的朋友。

标签: iphone ios text uitextview textcolor


【解决方案1】:

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

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

【讨论】:

  • 如果您需要更多帮助,请分享一些代码或让我们作为初学者帮助您
  • 这里真正的问题是你只需要为textView中的一部分文本设置文本颜色。另一部分应保持黑色。
  • 这需要一个好的算法,在方法中也使用块。该算法必须设计为接受任何“ ”字符作为文本字段的开头。
  • 我在 UITextView 中输入了最后一个文本。但是,如果我改变颜色 textView.textColor = [UIColor orangeColor];整个文本颜色更改为 orangeColor。但是,我想将颜色更改为最后输入的单词。你能帮我么。谢谢。
  • 你能分享你的代码吗?我现在没有太多时间,但如果我看到你的代码,我可以添加我所说的内容
【解决方案2】:

您可以使用这些委托方法

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

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

【讨论】:

  • 请看我的编辑。这些方法可以直接在算法内部使用。
  • 我在 UITextView 中输入了最后一个文本。但是,如果我改变颜色 textView.textColor = [UIColor orangeColor];整个文本颜色更改为 orangeColor。但是,我想将颜色更改为最后输入的单词。你能帮我么。谢谢。
猜你喜欢
  • 2019-10-01
  • 1970-01-01
  • 2022-06-15
  • 1970-01-01
  • 2016-02-02
  • 2018-03-24
  • 1970-01-01
  • 2020-04-24
  • 1970-01-01
相关资源
最近更新 更多