簡體   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