美文网首页
UITextField委托方法 

UITextField委托方法 

作者: PZcoder | 来源:发表于2017-05-17 23:00 被阅读13次

    1、指定是否允许文本字段开始编辑

    - (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
    { 
        //返回一个BOOL值,指定是否允许文本字段开始编辑,返回NO时不能唤起键盘进行编辑
        return YES; 
    //可以在此处设置弹出键盘时页面布局
    CGRect newTFRect = [textField convertRect:textField.bounds toView:self.view];
        CGFloat dist = (ScreenHeight - 216) - (newTFRect.origin.y + newTFRect.size.height + 100);
    
        if (dist < 0) {
            [UIView animateWithDuration:0.3 animations:^{
                self.view.bounds = CGRectMake(0, -dist, self.view.bounds.size.width, self.view.bounds.size.height);
            }];
        }
    
        return YES;
    } 
    

    2、开始编辑时触发

    - (void)textFieldDidBeginEditing:(UITextField *)textField
    { 
       //开始编辑时触发,文本字段将成为first responder 
    } 
    

    3、指定是否允许文本字段结束编辑

    - (BOOL)textFieldShouldEndEditing:(UITextField *)textField
    { 
        //返回BOOL值,指定是否允许文本字段结束编辑,当编辑结束,文本字段会让出first responder 
      //要想在用户结束编辑时阻止文本字段消失,可以返回NO 
      //这对一些文本字段必须始终保持活跃状态的程序很有用,比如即时消息(发送之后还是处于编辑状态,继续输入聊天内容)
      
        return NO; //一直处于编辑状态
    } 
    

    4、限制输入、判断输入内容等

    - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
    { 
    //当用户使用自动更正功能,把输入的文字修改为推荐的文字时,就会调用这个方法。 
    //这对于想要加入撤销选项的应用程序特别有用 
    //可以跟踪字段内所做的最后一次修改,也可以对所有编辑做日志记录,用作审计用途。   
    //要防止文字被改变可以返回NO 
    //这个方法的参数中有一个NSRange对象,指明了被改变文字的位置,建议修改的文本也在其中 
     
        return YES; 
    } 
    

    5、指明是否允许根据用户请求清除内容

    - (BOOL)textFieldShouldClear:(UITextField *)textField
    { 
       //返回一个BOOL值指明是否允许根据用户请求清除内容 
      //可以设置在特定条件下才允许清除内容 
       //返回YES,输入内容后,点击右边的清除按钮可以清除,返回NO,点击清除不起作用
        return YES; 
    } 
    

    6、指明是否允许在按下回车键时结束编辑

    -(BOOL)textFieldShouldReturn:(UITextField *)textField
    { 
    //返回一个BOOL值,指明是否允许在按下回车键时结束编辑 
     //如果允许要调用resignFirstResponder 方法,这会导致结束编辑,而键盘会被收起[textField resignFirstResponder];
    //查一下resign这个单词的意思就明白这个方法了 
        return YES; 
    } 
    

    相关文章

      网友评论

          本文标题:UITextField委托方法 

          本文链接:https://www.haomeiwen.com/subject/xiejxxtx.html