加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

swift UITextField的使用,及事件委托

发布时间:2020-12-14 06:55:42 所属栏目:百科 来源:网络整理
导读:UITextField 是用来文本输入的 , 比如常用的登录用户名和 密码 输入等等 , 那我们直接进入主题吧 1. 创建普通的 UITextField // 构建基本的 UITextField varuitf: UITextField = UITextField (frame:CGRect(x:50,y:50,width:200,height:30)) uitf.background

UITextField是用来文本输入的,比如常用的登录用户名和密码输入等等,那我们直接进入主题吧

1.创建普通的UITextField

//构建基本的UITextField

varuitf:UITextField=UITextField(frame:CGRect(x:50,y:50,width:200,height:30))

uitf.backgroundColor=UIColor.whiteColor()

uitf.placeholder="普通UITextField"

2.构建密码输入框

varuitf1:UITextField=UITextField(frame:CGRect(x:50,y:90,height:35))

uitf1.placeholder="密码输入框"

uitf1.borderStyle=UITextBorderStyle.RoundedRect//边框样式

uitf1.backgroundColor=UIColor.whiteColor()

uitf1.secureTextEntry=true//密码输入框

3.设置UITextField的左边视图

varuitf2:UITextField=UITextField(frame:CGRect(x:50,y:135,height:30))

uitf2.placeholder="请输入购买的物品"

uitf2.backgroundColor=UIColor.whiteColor()

varimg:UIImageView=UIImageView(image:UIImage(named:"buy.png")!)

img.frame=CGRect(x:5,y:5,width:40,height:30)

img.contentMode=UIViewContentMode.ScaleAspectFit

uitf2.leftView=img

uitf2.leftViewMode=UITextFieldViewMode.Always

uitf2.leftViewRectForBounds(CGRect(x:0,y:0,width:44,height:44))

4.设置UITextField的右边边视图

varuitf3:UITextField=UITextField(frame:CGRect(x:50,y:175,height:35))

uitf3.placeholder="请输入购买的物品"

uitf3.backgroundColor=UIColor.whiteColor()

uitf3.layer.cornerRadius=2

uitf3.layer.borderWidth=1

uitf3.layer.borderColor=UIColor.greenColor().CGColor

//uitf3.borderStyle=UITextBorderStyle.RoundedRect

varimg1:UIImageView=UIImageView(image:UIImage(named:"buy.png")!)

img1.frame=CGRect(x:5,height:30)

img1.contentMode=UIViewContentMode.ScaleAspectFit

uitf3.rightView=img1

uitf3.rightViewMode=UITextFieldViewMode.Always

5.委托事件,及加入clear按钮

varuitf4:UITextField=UITextField(frame:CGRect(x:50,y:220,height:35))

uitf4.backgroundColor=UIColor.whiteColor()

uitf4.delegate=self

uitf4.clearButtonMode=UITextFieldViewMode.WhileEditing

当鼠标进入UITextField,响应textFieldShouldBeginEditing -> textFieldDidBeginEditing
当鼠标退出UITextField,响应textFieldShouldEndEditing -> textFieldDidEndEditing
当输入文本内容时,响应textField
在输入框里,在虚拟键盘上点击return,响应textFieldShouldReturn
在输入框里,点击UITextFieldclear按钮,响应textFieldShouldClear

functextField(textField:UITextField,shouldChangeCharactersInRangerange:NSRange,replacementStringstring:String)->Bool{

NSLog("textField")

returntrue

}

functextFieldShouldBeginEditing(textField:UITextField)->Bool{

NSLog("textFieldShouldBeginEditing")

returntrue

}

functextFieldDidBeginEditing(textField:UITextField){

NSLog("textFieldDidBeginEditing")

}

functextFieldShouldEndEditing(textField:UITextField)->Bool{

NSLog("textFieldShouldEndEditing")

returntrue

}


functextFieldDidEndEditing(textField:UITextField){

NSLog("textFieldDidEndEditing")

}

functextFieldShouldClear(textField:UITextField)->Bool{

NSLog("textFieldShouldClear")

returntrue

}

functextFieldShouldReturn(textField:UITextField)->Bool{

NSLog("textFieldShouldReturn")

textField.resignFirstResponder()//这个隐藏(放弃)虚拟键盘

returntrue

}

全部代码

importUIKit


classViewController:UIViewController,UITextFieldDelegate{

overridefuncdidReceiveMemoryWarning(){

super.didReceiveMemoryWarning()

//DispoSEOfanyresourcesthatcanberecreated.

}

overridefuncviewDidLoad(){

super.viewDidLoad()

//Doanyadditionalsetupafterloadingtheview,typicallyfromanib.

//构建基本的UITextField

varuitf:UITextField=UITextField(frame:CGRect(x:50,height:30))

uitf.backgroundColor=UIColor.whiteColor()

uitf.placeholder="普通UITextField"

self.view.addSubview(uitf)

//构建密码输入框

varuitf1:UITextField=UITextField(frame:CGRect(x:50,height:35))

uitf1.placeholder="密码输入框"

uitf1.borderStyle=UITextBorderStyle.RoundedRect//边框样式

uitf1.backgroundColor=UIColor.whiteColor()

uitf1.secureTextEntry=true//密码输入框

self.view.addSubview(uitf1)

//设置UITextField的左边视图

varuitf2:UITextField=UITextField(frame:CGRect(x:50,height:44))

self.view.addSubview(uitf2)

//设置UITextField的右边边视图

varuitf3:UITextField=UITextField(frame:CGRect(x:50,height:30)

img1.contentMode=UIViewContentMode.ScaleAspectFit

uitf3.rightView=img1

uitf3.rightViewMode=UITextFieldViewMode.Always

self.view.addSubview(uitf3)

//委托事件

varuitf4:UITextField=UITextField(frame:CGRect(x:50,height:35))

uitf4.backgroundColor=UIColor.whiteColor()

uitf4.delegate=self

uitf4.clearButtonMode=UITextFieldViewMode.WhileEditing

self.view.addSubview(uitf4)

}

////////

//当鼠标进入UITextField,响应textFieldShouldBeginEditing->textFieldDidBeginEditing

//当鼠标退出UITextField,响应textFieldShouldEndEditing->textFieldDidEndEditing

//当输入文本内容时,响应textField

//在输入框里,响应textFieldShouldReturn

//在输入框里,replacementStringstring:String)->Bool{

NSLog("textField")

returntrue

}

functextFieldShouldBeginEditing(textField:UITextField)->Bool{

NSLog("textFieldShouldBeginEditing")

returntrue

}

functextFieldDidBeginEditing(textField:UITextField){

NSLog("textFieldDidBeginEditing")

}

functextFieldShouldEndEditing(textField:UITextField)->Bool{

NSLog("textFieldShouldEndEditing")

returntrue

}


functextFieldDidEndEditing(textField:UITextField){

NSLog("textFieldDidEndEditing")

}

functextFieldShouldClear(textField:UITextField)->Bool{

NSLog("textFieldShouldClear")

returntrue

}

functextFieldShouldReturn(textField:UITextField)->Bool{

NSLog("textFieldShouldReturn")

textField.resignFirstResponder()//这个隐藏(放弃)虚拟键盘

returntrue

}

}

效果图


本文属于吴统威的博客原创文章,转载时请注明出处及相应链接:http://www.wutongwei.com/front/infor_showone.tweb?id=98

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读