iOS 开发小技巧iOS开发A知识点

解决中文输入时拼音会显示到文本的问题

2016-07-19  本文已影响1671人  iceMaple
keyBoard.gif

在做输入中文的时候,系统自带的键盘不可避免的会产生上图的问题,本文就主要解决边输入边重新赋值时,中文输入时的高亮会被当做文本的小bug。

 UITextRange *selectedRange = [textView markedTextRange];   
 NSString * newText = [textView textInRange:selectedRange];    //获取高亮部分   
 if(newText.length>0)  
  {   
       return;
  }

例:textView

- (void)textViewDidChange:(UITextView *)textView
 {               
  UITextRange *selectedRange = [textView markedTextRange];           
  NSString * newText = [textView textInRange:selectedRange];     //获取高亮部分    
  if(newText.length>0)   
  {      
   return;   
  }   
  //给textView重新赋值(转化为富文本之类)
  、、、、
 }

例:textField

 [self.textField addTarget:self action:@selector(textDidChange:) forControlEvents:UIControlEventEditingChanged];

- (void)textDidChange:(UITextField *)textField
 {    
    UITextRange *selectedRange = [textField markedTextRange];
    NSString * newText = [textField textInRange:selectedRange];
    //获取高亮部分
    if(newText.length > 0)
    {
        return;
    }
   //给textView重新赋值(转化为富文本之类)
   、、、、
 }
上一篇 下一篇

猜你喜欢

热点阅读