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
在输入框里,点击UITextField的clear按钮,响应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
//在输入框里,响应textFieldShouldClear
functextField(textField:UITextField,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

}



}

效果图

865E70FE-173F-4942-81B7-1DF68487C16C.png

转载自吴统威的博客:http://www.wutongwei.com/front/infor_showone.tweb?id=98

The Swift Code之UITextField的使用,及事件委托的更多相关文章

  1. 详解通过focusout事件解决IOS键盘收起时界面不归位的问题

    这篇文章主要介绍了详解通过focusout事件解决IOS键盘收起时界面不归位的问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

  2. HTML5去掉输入框type为number时的上下箭头的实现方法

    这篇文章主要介绍了HTML5去掉输入框type为number时的上下箭头的实现方法,需要的朋友可以参考下

  3. HTML5中input输入框默认提示文字向左向右移动的示例代码

    这篇文章主要介绍了HTML5中input输入框默认提示文字向左向右移动,本文通过实例代码给大家介绍的非常详细对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  4. 详解移动端HTML5页面端去掉input输入框的白色背景和边框(兼容Android和ios)

    本篇文章主要介绍了移动端HTML5页面端去掉input输入框的白色背景和边框,非常具有实用价值,需要的朋友可以参考下。

  5. ios – UITextField中的Autolayout:执行-layoutSubviews后仍需要自动布局

    我究竟做错了什么?

  6. ios – 如何使UITextField可选但不可编辑?

    我希望用户可以复制和粘贴文本,但不能编辑它们.我使用委托UITextField方法来实现这个:这样虽然文本是可选择的而且不可编辑,但是当你选择文本时,键盘总是显示出来,这有点烦人,因为你无法编辑文本.那么无论如何在不显示键盘的情况下使文本可选而不可编辑?,您可能需要添加:

  7. ios – 设置TouchID“输入密码”后备以开始编辑UITextField

    我在我的应用程序中设置了touchID并正常工作.但是,我想更改“输入密码”的功能.创建我的身份验证时,我遵循以下教程:http://www.appcoda.com/touch-id-api-ios8/但是,他们使用alertView作为“输入密码”选项.我想解雇touchIDalertview并让我的passwordTextField成为第一个响应者.当然我试过了:但这会导致错误:这是我的身份验

  8. ios – UITextField文本在左侧不滚动

    我有一个UITextField子类,我已经覆盖了一些方法.问题是,当我输入它并且文本达到严格边距时,它将不再显示我正在键入的内容.在视图调试模式中,我看到UIFieldEditor比文本提交的要宽得多.这是UITextFiled子类代码:这是我使用这个类的代码:当用户在此文本字段中键入大字符串时,如何让文本在左侧滚动?

  9. ios – UITextField secureEntry错位了游标

    我在UITextField上切换secureEntry属性时遇到问题.切换属性时,将调整字符大小,但光标位于错误的位置:解决方法这是我的解决方法:禁用然后启用UITextField也有帮助,但它会突然将我的软键盘从一个更改为另一个

  10. ios – Swift,移动键盘后面的内容在关闭后不会重置

    我在我的一个VC中有一个uiscrollview.在scrollView中,我有多个TF,按钮等.我使用下面的代码,根据Apple文档,在调用键盘通知时向上移动scrollView,以推高隐藏的文本字段.但是,当我关闭键盘时,scrollView不会重置或向下移动,它只是停留在“向上移动”的位置.我在这里错过了什么吗?我有一个名为的类的成员变量:我是否正确使用了委托方法?解决方法我这样做了,它对我有用.似乎比你的方式容易多了.我为我的项目使用了UITextView.但它应该与UITextField一样.–

随机推荐

  1. Swift UITextField,UITextView,UISegmentedControl,UISwitch

    下面我们通过一个demo来简单的实现下这些控件的功能.首先,我们拖将这几个控件拖到storyboard,并关联上相应的属性和动作.如图:关联上属性和动作后,看看实现的代码:

  2. swift UISlider,UIStepper

    我们用两个label来显示slider和stepper的值.再用张图片来显示改变stepper值的效果.首先,这三个控件需要全局变量声明如下然后,我们对所有的控件做个简单的布局:最后,当slider的值改变时,我们用一个label来显示值的变化,同样,用另一个label来显示stepper值的变化,并改变图片的大小:实现效果如下:

  3. preferredFontForTextStyle字体设置之更改

    即:

  4. Swift没有异常处理,遇到功能性错误怎么办?

    本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请发送邮件至dio@foxmail.com举报,一经查实,本站将立刻删除。

  5. 字典实战和UIKit初探

    ios中数组和字典的应用Applicationschedule类别子项类别名称优先级数据包contactsentertainment接触UIKit学习用Swift调用CocoaTouchimportUIKitletcolors=[]varbackView=UIView(frame:CGRectMake(0.0,0.0,320.0,CGFloat(colors.count*50)))backView

  6. swift语言IOS8开发战记21 Core Data2

    上一话中我们简单地介绍了一些coredata的基本知识,这一话我们通过编程来实现coredata的使用。还记得我们在coredata中定义的那个Model么,上面这段代码会加载这个Model。定义完方法之后,我们对coredata的准备都已经完成了。最后强调一点,coredata并不是数据库,它只是一个框架,协助我们进行数据库操作,它并不关心我们把数据存到哪里。

  7. swift语言IOS8开发战记22 Core Data3

    上一话我们定义了与coredata有关的变量和方法,做足了准备工作,这一话我们来试试能不能成功。首先打开上一话中生成的Info类,在其中引用头文件的地方添加一个@objc,不然后面会报错,我也不知道为什么。

  8. swift实战小程序1天气预报

    在有一定swift基础的情况下,让我们来做一些小程序练练手,今天来试试做一个简单地天气预报。然后在btnpressed方法中依旧增加loadWeather方法.在loadWeather方法中加上信息的显示语句:运行一下看看效果,如图:虽然显示出来了,但是我们的text是可编辑状态的,在storyboard中勾选Editable,再次运行:大功告成,而且现在每次单击按钮,就会重新请求天气情况,大家也来试试吧。

  9. 【iOS学习01】swift ? and !  的学习

    如果不初始化就会报错。

  10. swift语言IOS8开发战记23 Core Data4

    接着我们需要把我们的Rest类变成一个被coredata管理的类,点开Rest类,作如下修改:关键字@NSManaged的作用是与实体中对应的属性通信,BinaryData对应的类型是NSData,CoreData没有布尔属性,只能用0和1来区分。进行如下操作,输入类名:建立好之后因为我们之前写的代码有些地方并不适用于coredata,所以编译器会报错,现在来一一解决。

返回
顶部