The Swift Code之UITextField的使用,及事件委托

前端之家收集整理的这篇文章主要介绍了The Swift Code之UITextField的使用,及事件委托前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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

1.创建普通的UITextField

  1. //构建基本的UITextField
  2. varuitf:UITextField=UITextField(frame:CGRect(x:50,y:50,width:200,height:30))
  3. uitf.backgroundColor=UIColor.whiteColor()
  4. uitf.placeholder="普通UITextField"

2.构建密码输入框

  1. varuitf1:UITextField=UITextField(frame:CGRect(x:50,y:90,height:35))
  2. uitf1.placeholder="密码输入框"
  3. uitf1.borderStyle=UITextBorderStyle.RoundedRect//边框样式
  4. uitf1.backgroundColor=UIColor.whiteColor()
  5. uitf1.secureTextEntry=true//密码输入框

3.设置UITextField的左边视图

  1. varuitf2:UITextField=UITextField(frame:CGRect(x:50,y:135,height:30))
  2. uitf2.placeholder="请输入购买的物品"
  3. uitf2.backgroundColor=UIColor.whiteColor()
  4. varimg:UIImageView=UIImageView(image:UIImage(named:"buy.png")!)
  5. img.frame=CGRect(x:5,y:5,width:40,height:30)
  6. img.contentMode=UIViewContentMode.ScaleAspectFit
  7. uitf2.leftView=img
  8. uitf2.leftviewmode=UITextFieldviewmode.Always
  9. uitf2.leftViewRectForBounds(CGRect(x:0,y:0,width:44,height:44))

4.设置UITextField的右边边视图

  1. varuitf3:UITextField=UITextField(frame:CGRect(x:50,y:175,height:35))
  2. uitf3.placeholder="请输入购买的物品"
  3. uitf3.backgroundColor=UIColor.whiteColor()
  4. uitf3.layer.cornerRadius=2
  5. uitf3.layer.borderWidth=1
  6. uitf3.layer.borderColor=UIColor.greenColor().CGColor
  7.  
  8. //uitf3.borderStyle=UITextBorderStyle.RoundedRect
  9. varimg1:UIImageView=UIImageView(image:UIImage(named:"buy.png")!)
  10. img1.frame=CGRect(x:5,height:30)
  11. img1.contentMode=UIViewContentMode.ScaleAspectFit
  12. uitf3.rightView=img1
  13. uitf3.rightviewmode=UITextFieldviewmode.Always

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

  1. varuitf4:UITextField=UITextField(frame:CGRect(x:50,y:220,height:35))
  2. uitf4.backgroundColor=UIColor.whiteColor()
  3. uitf4.delegate=self
  4. uitf4.clearButtonMode=UITextFieldviewmode.WhileEditing

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

  1. functextField(textField:UITextField,shouldChangeCharactersInRangerange:NSRange,replacementStringstring:String)->Bool{
  2. NSLog("textField")
  3. returntrue
  4. }
  5.  
  6. functextFieldShouldBeginEditing(textField:UITextField)->Bool{
  7.  
  8.  
  9. NSLog("textFieldShouldBeginEditing")
  10.  
  11. returntrue
  12. }
  13.  
  14. functextFieldDidBeginEditing(textField:UITextField){
  15.  
  16. NSLog("textFieldDidBeginEditing")
  17. }
  18.  
  19.  
  20. functextFieldShouldEndEditing(textField:UITextField)->Bool{
  21.  
  22.  
  23. NSLog("textFieldShouldEndEditing")
  24.  
  25. returntrue
  26.  
  27. }
  28.  
  29.  
  30. functextFieldDidEndEditing(textField:UITextField){
  31.  
  32. NSLog("textFieldDidEndEditing")
  33. }
  34.  
  35.  
  36.  
  37. functextFieldShouldClear(textField:UITextField)->Bool{
  38.  
  39. NSLog("textFieldShouldClear")
  40.  
  41. returntrue
  42. }
  43.  
  44.  
  45. functextFieldShouldReturn(textField:UITextField)->Bool{
  46.  
  47. NSLog("textFieldShouldReturn")
  48.  
  49. textField.resignFirstResponder()//这个隐藏(放弃)虚拟键盘
  50.  
  51. returntrue
  52.  
  53. }

全部代码

  1. importUIKit
  2.  
  3. classViewController:UIViewController,UITextFieldDelegate{
  4.  
  5. overridefuncdidReceiveMemoryWarning(){
  6. super.didReceiveMemoryWarning()
  7. //DispoSEOfanyresourcesthatcanberecreated.
  8. }
  9.  
  10.  
  11. overridefuncviewDidLoad(){
  12. super.viewDidLoad()
  13. //Doanyadditionalsetupafterloadingtheview,typicallyfromanib.
  14.  
  15. //构建基本的UITextField
  16. varuitf:UITextField=UITextField(frame:CGRect(x:50,height:30))
  17. uitf.backgroundColor=UIColor.whiteColor()
  18. uitf.placeholder="普通UITextField"
  19. self.view.addSubview(uitf)
  20.  
  21. //构建密码输入框
  22. varuitf1:UITextField=UITextField(frame:CGRect(x:50,height:35))
  23. uitf1.placeholder="密码输入框"
  24. uitf1.borderStyle=UITextBorderStyle.RoundedRect//边框样式
  25. uitf1.backgroundColor=UIColor.whiteColor()
  26. uitf1.secureTextEntry=true//密码输入框
  27. self.view.addSubview(uitf1)
  28.  
  29. //设置UITextField的左边视图
  30. varuitf2:UITextField=UITextField(frame:CGRect(x:50,height:44))
  31. self.view.addSubview(uitf2)
  32.  
  33.  
  34. //设置UITextField的右边边视图
  35. varuitf3:UITextField=UITextField(frame:CGRect(x:50,height:30)
  36. img1.contentMode=UIViewContentMode.ScaleAspectFit
  37. uitf3.rightView=img1
  38. uitf3.rightviewmode=UITextFieldviewmode.Always
  39. self.view.addSubview(uitf3)
  40.  
  41. //委托事件
  42. varuitf4:UITextField=UITextField(frame:CGRect(x:50,height:35))
  43. uitf4.backgroundColor=UIColor.whiteColor()
  44. uitf4.delegate=self
  45. uitf4.clearButtonMode=UITextFieldviewmode.WhileEditing
  46. self.view.addSubview(uitf4)
  47. }
  48.  
  49.  
  50. ////////
  51. //当鼠标进入UITextField时,响应textFieldShouldBeginEditing->textFieldDidBeginEditing
  52. //当鼠标退出UITextField时,响应textFieldShouldEndEditing->textFieldDidEndEditing
  53. //当输入文本内容时,响应textField
  54. //在输入框里,响应textFieldShouldReturn
  55. //在输入框里,响应textFieldShouldClear
  56. functextField(textField:UITextField,replacementStringstring:String)->Bool{
  57. NSLog("textField")
  58. returntrue
  59. }
  60.  
  61. functextFieldShouldBeginEditing(textField:UITextField)->Bool{
  62.  
  63.  
  64. NSLog("textFieldShouldBeginEditing")
  65.  
  66. returntrue
  67. }
  68.  
  69. functextFieldDidBeginEditing(textField:UITextField){
  70.  
  71. NSLog("textFieldDidBeginEditing")
  72. }
  73.  
  74.  
  75. functextFieldShouldEndEditing(textField:UITextField)->Bool{
  76.  
  77.  
  78. NSLog("textFieldShouldEndEditing")
  79.  
  80. returntrue
  81.  
  82. }
  83.  
  84.  
  85. functextFieldDidEndEditing(textField:UITextField){
  86.  
  87. NSLog("textFieldDidEndEditing")
  88. }
  89.  
  90.  
  91.  
  92. functextFieldShouldClear(textField:UITextField)->Bool{
  93.  
  94. NSLog("textFieldShouldClear")
  95.  
  96. returntrue
  97. }
  98.  
  99.  
  100. functextFieldShouldReturn(textField:UITextField)->Bool{
  101.  
  102. NSLog("textFieldShouldReturn")
  103.  
  104. textField.resignFirstResponder()//这个隐藏(放弃)虚拟键盘
  105.  
  106. returntrue
  107.  
  108. }
  109.  
  110.  
  111.  
  112. }

效果

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

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

猜你在找的Swift相关文章