Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> UITextField的使用

UITextField的使用

編輯:關於Android編程

UITextField是輸入字符的視圖控件

1是UIView的子類,具有與view一樣的屬性

2字符輸入只能是單行輸入,不能換行,也不能多行輸入

3與自己特有的屬性

4 textfield通常要設置其代理,並實現相應的代理方法

5主要使用場景,如:登錄頁面中輸入帳號密碼,或輸入手機號,或輸入昵稱等方面

6使用注意事項:

(1)輸入鍵盤的顯示,以及隱藏;

(2)輸入時避免輸入框被鍵盤遮擋;

  1. //實例化
  2. UITextField*textfield001=[[UITextFieldalloc]initWithFrame:CGRectMake(10.0,50.0,200.0,30.0)];
  3.  
  4. //添加到父視圖
  5. [self.viewaddSubview:textfield001];
  6.  
  7. //設置背景顏色
  8. textfield001.backgroundColor=[UIColorredColor];
  9.  
  10. //設置邊框屬性
  11. textfield001.layer.cornerRadius=10.0;
  12. textfield001.layer.masksToBounds=YES;
  13. textfield001.layer.borderColor=[UIColoryellowColor].CGColor;
  14. textfield001.layer.borderWidth=1.0;
  15. //字體設置
  16. //占位符,即提示信息
  17. textfield001.placeholder=@"我是單行字符輸入框";
  18. //字體顏色
  19. textfield001.textColor=[UIColoryellowColor];
  20. //字體對方方式
  21. textfield001.textAlignment=NSTextAlignmentRight;
  22. //光鼠標顏色
  23. textfield001.tintColor=[UIColorgreenColor];
  24. //字體大小
  25. textfield001.font=[UIFontsystemFontOfSize:10.0];
  26. //其他屬性
  27. //左間距視圖及模式
  28. UIImageView*leftImage=[[UIImageViewalloc]initWithFrame:CGRectMake(0.0,0.0,30.0,30.0)];
  29. leftImage.contentMode=UIViewContentModeScaleAspectFit;
  30. leftImage.image=[UIImageimageNamed:@"leftImage"];
  31. textfield001.leftView=leftImage;
  32. textfield001.leftViewMode=UITextFieldViewModeAlways;
  33. //右間距視圖及模式,若再設置清除按鈕,則清除按鈕是無效的,即兩者不能同時設置
  34. //UIImageView*rightImage=[[UIImageViewalloc]initWithFrame:CGRectMake(0.0,0.0,30.0,30.0)];
  35. //rightImage.contentMode=UIViewContentModeScaleAspectFit;
  36. //rightImage.image=[UIImageimageNamed:@"rightImage"];
  37. //textfield001.rightView=rightImage;
  38. //textfield001.rightViewMode=UITextFieldViewModeAlways;
  39. //清除按鈕,如果設置了右間距視圖,則無效,即兩者不能同時設置
  40. textfield001.clearButtonMode=UITextFieldViewModeWhileEditing;
  41. //鍵盤類型
  42. textfield001.keyboardType=UIKeyboardTypeDefault;
  43. //鍵盤中回車鍵類型
  44. textfield001.returnKeyType=UIReturnKeySend;
  45. //鍵盤中回車鍵有輸入時,回車鍵才可點擊,默認是可點擊,即NO
  46. textfield001.enablesReturnKeyAutomatically=NO;
  47. //輸入框字符明文,或密文方式,默認是明文,即NO
  48. textfield001.secureTextEntry=NO;
  49. //設置代理
  50. /*
  51. 1代理通常設置其他需要實現textfile代理方法的對象
  52. 2要設置協議
  53. 3實現協議方法
  54. */
  55. textfield001.delegate=self;
  56.  
  57. @interfaceViewController()
  58.  
  59. @end
  60. //輸入源視圖,默認是鍵盤,可通過設置輸入源視圖是其他控件,或自定義控件
  61. //textfield001.inputView=[[UIViewalloc]initWithFrame:CGRectMake(0.0,0.0,320.0,300.0)];
  62. //輸入源視圖中的頂端視圖,默認是沒有的
  63. UIButton*button=[UIButtonbuttonWithType:UIButtonTypeCustom];
  64. button.backgroundColor=[UIColorcolorWithWhite:0.0alpha:0.3];
  65. button.frame=CGRectMake(0.0,0.0,CGRectGetWidth(self.view.bounds),40.0);
  66. [buttonsetTitle:@"隱藏鍵盤"forState:UIControlStateNormal];
  67. [buttonsetTitleColor:[UIColorredColor]forState:UIControlStateNormal];
  68. [buttonsetTitleColor:[UIColoryellowColor]forState:UIControlStateHighlighted];
  69. [buttonaddTarget:selfaction:@selector(hiddenKeyboard)forControlEvents:UIControlEventTouchUpInside];
  70. textfield001.inputAccessoryView=button;
     
  71. //UITextFieldDelegate
  72.  
  73. //即將開始編輯
  74. -(BOOL)textFieldShouldBeginEditing:(UITextField*)textField
  75. {
  76. NSLog(@"即將開始編輯");
  77. returnYES;
  78. }
  79.  
  80. //已經開始編輯
  81. -(void)textFieldDidBeginEditing:(UITextField*)textField
  82. {
  83. NSLog(@"已經開始編輯");
  84. }
  85.  
  86. //即將結束編輯
  87. -(BOOL)textFieldShouldEndEditing:(UITextField*)textField
  88. {
  89. NSLog(@"即將結束編輯");
  90. returnYES;
  91. }
  92.  
  93. //已經結束編輯
  94. -(void)textFieldDidEndEditing:(UITextField*)textField
  95. {
  96. NSLog(@"已經結束編輯");
  97. }
  98.  
  99. //正在編輯
  100. -(BOOL)textField:(UITextField*)textFieldshouldChangeCharactersInRange:(NSRange)rangereplacementString:(NSString*)string
  101. {
  102. NSLog(@"正在編輯=%@",textField.text);
  103.  
  104. /*
  105. 1常用來獲取當前輸入的信息
  106. 2用來判斷當前的輸入是否限制的字符,如限制只能輸入大小寫字母,或只能輸入數字等
  107. 3用來判斷輸入的字符長度限制
  108. */
  109.  
  110.  
  111. returnYES;
  112. }
  113.  
  114. //應該清除
  115. -(BOOL)textFieldShouldClear:(UITextField*)textField
  116. {
  117. NSLog(@"點擊了清除鍵");
  118.  
  119. returnYES;
  120. }
  121.  
  122. //應該回車
  123. -(BOOL)textFieldShouldReturn:(UITextField*)textField
  124. {
  125. NSLog(@"點擊了回車鍵");
  126.  
  127. //隱藏鍵盤
  128. //方法1失去第一響應
  129. //[textFieldresignFirstResponder];
  130. //方法2結束編輯
  131. [textFieldendEditing:YES];
  132.  
  133. returnYES;
  134. }
     
  135. -(void)hiddenKeyboard
  136. {
  137. //當前視圖結束編輯
  138. [self.viewendEditing:YES];
  139. }
    \

     

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved