• UITextView


    1.点击 UITextView 输入文字,光标都从最初点开始
    能让用户点击 UITextView 输入文字时,光标都从最初点开始
    - (void)textViewDidChangeSelection:(UITextView *)textView
    {
        NSRange range;
        range.location = 0;
        range.length  = 0;
        textView.selectedRange = range;
    }

    UITextView光标位置的设置
    点击 UITextView 输入文字,光标都从最初点开始 

    更改UITextView的光标的位置:

    -(void)textViewDidChangeSelection:(UITextView*)textView
    {
    NSRange range;
    range.location = 0;
    range.length = 0;
    textView.selectedRange =range;
    }
    以上是当在UITextView中输入文字的时候,光标都从最初点开始。


    PS:UITextView有一个小BUG,如果其高度小于50的话,输入的时候其光标会往上偏移,从而看不到光标,如果大于50就不会出现这个问题。

    UITextView在光标处添加文字
    // 获得光标所在的位置
    int location =contentTextView.selectedRange.location;
    // 将UITextView中的内容进行调整(主要是在光标所在的位置进行字符串截取,再拼接你需要插入的文字即可)
    NSString *content = contentTextView.text;
    NSString *result = [NSStringstringWithFormat:@"%@[姓名变量]%@",[contentsubstringToIndex:location],[contentsubstringFromIndex:location]];
    // 将调整后的字符串添加到UITextView上面
    contentTextView.text = result;

    如何设置UITextView的光标位置
    UITextView * m_textInput;
    //设置光标到输入文字的末尾
    NSUInteger length = m_textInput.text.length;
    m_textInput.selectedRange = NSMakeRange(length,0); 

    UITextView方法 用法

    UITextView限制行数的问题之前试了好多方法,最终解决了,解决方法非常简单,在UITextViewDelegate中加下面的方法即可:
    -(BOOL)textView:(UITextView *)textViewshouldChangeTextInRange:(NSRange)range
     replacementText:(NSString*)text {
      
       if (textView.contentSize.height > 104){
          textView.text = [textView.text substringToIndex:[textView.textlength]-1];
           returnNO;
       }

       return YES;
    }


    -(void)textViewDidChangeSelection:(UITextView*)textView 
    每次输入都知道

    [textView becomeFirstResponder]

    (void)textViewDidChange:(UITextView*)textView textView的内容发生改变时,会调用。。再此计算已经输入的字符个数。

    - (BOOL)textView:(UITextView*)textView shouldChangeTextInRange:(NSRange)rangereplacementText:(NSString *)text; {

    if([@"\n" isEqualToString:text] == YES) {
     
     [textViewresignFirstResponder];
     
     returnNO;
     
     }
     
     returnYES;
    }
    - (BOOL)textView:(UITextView*)textView 
    shouldChangeTextInRange:(NSRange)rangereplacementText:(NSString *)text;

    textview根据光标插入数据  

    UITableViewCell *cell =  [tableView cellForRowAtIndexPath:indexPath];
    //定位光标

        NSRange range = [opinion selectedRange];
    NSMutableString *top = [[NSMutableString allocinitWithString:[opinion text]];
    NSString *addName = [NSString stringWithFormat:@"%@",cell.textLabel.text];
        [top insertString:addName atIndex:range.location];
        opinion.text = top;
        [top release];

  • 相关阅读:
    如何优雅地结束线程的生命周期
    线程的interrupt()
    线程的join()方法
    守护线程Daemon
    使用多线程模拟一个银行叫号窗口
    多线程介绍
    十八、MySQL 数据排名查询某条数据是总数据的第几条
    spring cloud stream整合
    036线程进程(重要)
    035server端并发聊天
  • 原文地址:https://www.cnblogs.com/Cristen/p/2849642.html
Copyright © 2020-2023  润新知