美文网首页iOS学习笔记
iOS-TextField协议方法

iOS-TextField协议方法

作者: Swift从入门到崩溃 | 来源:发表于2016-08-15 21:19 被阅读0次

在textfield中有很多的协议方法,而这个方法能让我们在对textfield上完成一定的事件后,执行一定的事件,就让我们的textfield和现实联系了起来

首先我们还是先创建textfield

func creatTextFeild() {
    //创建textfeild对象
    let textFeild = UITextField.init(frame: CGRectMake(100, 100, 250, 60))
    self.view.addSubview(textFeild)
    textFeild.backgroundColor = UIColor.purpleColor()
    //设置代理
    textFeild.delegate = self
    //显示清空按钮
    textFeild.clearButtonMode = .Always
    
    //再创建一个textfeild
    //创建textfeild对象
    let textFeild1 = UITextField.init(frame: CGRectMake(100, 200, 250, 60))
    self.view.addSubview(textFeild1)
    textFeild1.backgroundColor = UIColor.purpleColor()
    
  }
}

让ViewController遵守UITextFieldDelegate协议,实现协议内容

extension ViewController: UITextFieldDelegate

func textFieldShouldReturn(textField: UITextField) -> Bool {
    print("回车")
    //收起键盘
    textField.resignFirstResponder()
    return true
}
//当按键盘上return的时候调用
//返回值,按回车键是否将联想的内容显示在输入框,一般返回true

//开始编辑的时候,调用这个方法

func textFieldDidBeginEditing(textField: UITextField) {
    print("开始编辑")
}

开始编辑的时候调用,并且可以设置是否让当前的textfeild是否可以编辑

//参数1.委托
// 返回值:是否可以开始编辑true->可以编辑,
func textFieldShouldBeginEditing(textField: UITextField) -> Bool {
    print("???")
    return true
} 

将要结束的时候调用。并且可以设置是否可以结束编辑

func textFieldShouldEndEditing(textField: UITextField) -> Bool {
    //如果textfeild中的字符个数大于8就结束编辑
    if textField.text?.characters.count>7{
        
        return true
    }else{
        return false}
}

编辑结束的时候调用这个方法

func textFieldDidEndEditing(textField: UITextField) {
    print("结束编辑")
}

在键盘上没次点击一个键都会调用这个方法
//参数1.委托
//参数2.当前点击的按键对应的值,在输入框中的字符所在的范围
//参数3.当前在键盘上点击的按键对应的值
//返回值,是否将从键盘输入的内容显示在textfeild上

func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
    print(range)
    print(string)
    //如果是数字就不能显示在textfeild上
    if string>="0" && string<="9"{
        return false
    }else{
        return true}
}

点击清空按钮是否可以将textfeild中的内容请看true可以清空,false不能清空

func textFieldShouldClear(textField: UITextField) -> Bool {
     return false
}

相关文章

  • iOS-TextField协议方法

    在textfield中有很多的协议方法,而这个方法能让我们在对textfield上完成一定的事件后,执行一定的事件...

  • 【转】关于UITextField的一切

    原文:《iOS-TextField知多少》来自:作者:TskyFree

  • IOS-TextField功能方法详解

    //初始化textfield并设置位置及大小UITextField *text = [[UITextField a...

  • 协议

    一、创建协议的.h文件 二、声明方法 三、声明属性 四、方法实现 五、声明协议 六、签协议,实现协议方法 源码戳这...

  • OC 协议(代理、传值、回调、多继承)

    协议的基础语法 定义协议是方法的列表协议只有一个.h文件@protocal 协议名称 //方法...

  • Swift第三周学习总结

    协议 1.协议:协议只给出方法的声明,不给出具体方法的实现过程,协议是方法的集合(计算属性相当于就是方法),谁遵循...

  • Objective-C协议

    OC中协议是声明方法的集合体,由类实现协议声明的所有方法,称之为类遵循(conform)方法。 协议的使用 协议的...

  • Swift--协议

    协议概念 协议定义和遵从 协议方法 协议属性 面向协议编程 协议概念 几何图形这种类在面向对象分析与设计方法学中称...

  • swift 12.2 协议分类、代理

    1协议分类 1.协议中定义的方法使用mutating修饰 类遵守协议 实现协议中使用mutating修饰的方法的...

  • iOS学习之协议浅谈

    iOS学习之协议浅谈 一、协议的定义 协议是多种类共享的方法列表 协议定义了一系列的方法,其中这些方法又分为选择实...

网友评论

    本文标题:iOS-TextField协议方法

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