zoukankan      html  css  js  c++  java
  • UITextField

      1 1.UITextField的初始化和设置
      2   textField = [[UITextField alloc] initWithFrame:CGRectMake(120.0f, 80.0f, 150.0f, 30.0f)]; 
      3   [textField setBorderStyle:UITextBorderStyleRoundedRect]; //外框类型 
      4  
      5   textField.placeholder = @"password"; //默认显示的字 
      6  
      7   textField.secureTextEntry = YES; //密码 
      8  
      9   textField.autocorrectionType = UITextAutocorrectionTypeNo; 
     10   textField.autocapitalizationType = UITextAutocapitalizationTypeNone; 
     11   textField.returnKeyType = UIReturnKeyDone; 
     12   textField.clearButtonMode = UITextFieldViewModeWhileEditing; //编辑时会出现个修改X 
     13  
     14   textField.delegate = self;
     15 2.要实现的Delegate方法,关闭键盘
     16   - (BOOL)textFieldShouldReturn:(UITextField *)textField 
     17   { 
     18       [self.textField resignFirstResponder]; 
     19       return YES; 
     20   } 
     21 3. 可以在UITextField使用下面方法,按return键返回
     22 -(IBAction) textFieldDone:(id) sender
     23 {
     24  [textFieldName resignFirstResponder]; 
     25 }
     26 链接TextField控件的"Did end on exit"
     27 最右侧加图片是以下代码,
     28     UIImageView *imgv=[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"right.png"]];
     29     text.rightView=imgv;
     30     text.rightViewMode = UITextFieldViewModeAlways;    
     31 
     32 如果是在最左侧加图片就换成:
     33 text.leftView=imgv;
     34 text.leftViewMode = UITextFieldViewModeAlways;    
     35 UITextField 继承自 UIControl,此类中有一个属性contentVerticalAlignment
     36 所以想让UITextField里面的text垂直居中可以这样写:
     37 text.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
     38 查看函数的方法:
     39 按住command键双击进入函数声明
     40 按住alt键双击进入doc文档
     41 ///////////////////////////////////////////////////////////////
     42 文本框常用方法:
     43 如何用程序删除文本框中选中的文本
     44 [textView delete: nil];
     45 ///////////////////////////////////////////////////////////////
     46 如何限制文本框只能输入数字:
     47 建立NSNumberFormatter的子类,增加这个方法,将formatter链接至文本框。
     48  
     49 - (BOOL) isPartialStringValid: (NSString **) partialStringPtr
     50         proposedSelectedRange: (NSRangePointer) proposedSelRangePtr
     51                originalString: (NSString *) origString
     52         originalSelectedRange: (NSRange) origSelRange
     53              errorDescription: (NSString **) error
     54 {
     55     NSCharacterSet *nonDigits;
     56     NSRange newStuff;
     57     NSString *newStuffString;
     58             
     59     nonDigits = [[NSCharacterSet decimalDigitCharacterSet] invertedSet];
     60     newStuff = NSMakeRange(origSelRange.location,
     61                            proposedSelRangePtr->location
     62                            - origSelRange.location);
     63     newStuffString = [*partialStringPtr substringWithRange: newStuff];
     64             
     65     if ([newStuffString rangeOfCharacterFromSet: nonDigits
     66                                                                                              options: NSLiteralSearch].location != NSNotFound) {
     67         *error = @"不是数字";
     68         return (NO);
     69     } else {
     70         *error = nil;
     71         return (YES);
     72     }
     73             
     74 }
     75 ///////////////////////////////////////////////////////////////
     76 从文本框获取十六进制数据的代码
     77 char singleNumberString[3] = {'','',''};
     78 uint32_t singleNumber = 0;
     79 uint32_t i = 0;
     80  NSMutableData *data = [NSMutableData data];
     81  //从文本框获取到得数据
     82  const char *buf = [[_hexToSendTextField text] UTF8String];
     83  //转换为十六进制
     84  for(i = 0; i < strlen(buf); i+=2)
     85  {
     86  if(((i+1) < len && isxdigit(buf) && (isxdigit(buf[i+1])))
     87  {
     88  singleNumberString[0] = buf;
     89  singleNumberString[1] = buf[i+1];
     90  sscanf(singleNumberString, "%x", &singleNumber);
     91  [data appendBytes:(void*)(&tmp) length:1];
     92  }
     93  else
     94  {
     95  break;
     96  }
     97  }
     98  //输出
     99  NSLog(@"%@", data);
    100 /////////////////////////////////////////////////////////////
    101 点击 UITextView 输入文字,光标都从最初点开始
    102 - (void)textViewDidChangeSelection:(UITextView *)textView
    103 {
    104     NSRange range;
    105     range.location = 0;
    106     range.length = 0;
    107     textView.selectedRange = range;
    108 }
    109 ///////////////////////////////////////////////////////////
    110 软键盘
    111 在登录页面要实现用户名和密码,密码要是点点格式,引入当前页面光标要停留在用户名选项,软键盘要弹出界面。如下图:
    112 弹出键盘:
    113 [username becomeFirstResponder];
    114 取消键盘:
    115 [username resignFirstResponder];
    116 密码保护:
    117 password.secureTextEntry=YES;
    118 //////////////////////////////////////////////////////////////////
    119 1.UITextField的初始化和设置
    120   textField = [[UITextField alloc] initWithFrame:CGRectMake(120.0f, 80.0f, 150.0f, 30.0f)]; 
    121   [textField setBorderStyle:UITextBorderStyleRoundedRect]; //外框类型 
    122   textField.placeholder = @"password"; //默认显示的字 
    123   textField.secureTextEntry = YES; //密码 
    124   textField.autocorrectionType = UITextAutocorrectionTypeNo; 
    125   textField.autocapitalizationType = UITextAutocapitalizationTypeNone; 
    126   textField.returnKeyType = UIReturnKeyDone; 
    127   textField.clearButtonMode = UITextFieldViewModeWhileEditing; //编辑时会出现个修改X 
    128   textField.delegate = self;
    129 2.要实现的Delegate方法,关闭键盘
    130   - (BOOL)textFieldShouldReturn:(UITextField *)textField 
    131   { 
    132       [self.textField resignFirstResponder]; 
    133       return YES; 
    134   } 
    135 3. 可以在UITextField使用下面方法,按return键返回
    136 -(IBAction) textFieldDone:(id) sender
    137 {
    138  [textFieldName resignFirstResponder]; 
    139 }
    140 链接TextField控件的"Did end on exit"
    141 ////////////////////////////////////////////////////////////////////
    142 限制输入文本的长度
    143 - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
    144 {
    145     if (range.location >= MAX_LENGTH)
    146         return NO; // return NO to not change text
    147     return YES;
    148 }
    149 if (textField.text.length >= 10 && range.length == 0)
    150     return NO;
    151 return YES;
    152 - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string 
    153 { 
    154  if ([textField.text length] > MAXLENGTH) 
    155  { 
    156   textField.text = [textField.text substringToIndex:MAXLENGTH-1]; 
    157   return NO; 
    158  } 
    159  return YES; 
    160 } 
    161 //////////////////////////////////////////////////////////////////////
    162 使用UITextFieldDelegate来隐藏键盘 
    163 在iPhone界面上,时常会需要当用户输入完内容后,隐藏键盘。 当然有很多方法,今天只介绍使用UITextFieldDelegate这个协议实现隐藏键盘。
    164 其实很简单, 需要三步:
    165 1. 在你的控制器类中,加入UITextFieldDelegate这个协议
    166 如:@interface AddItemViewController : UIViewController <UITextFieldDelegate>
    167 2. 在使用了UITextFieldDelegate协议的控制器类的实现中,加入- (BOOL)textFieldShouldReturn:方法。
    168 - (BOOL)textFieldShouldReturn:(UITextField *)textField {
    169  
    170         [textField resignFirstResponder];
    171         return YES;
    172 }
    173  //设置焦点:
    174 
    175 [UITextField becomeFirstResponder];
    176 
    177 3. 将xib文件中的TextField控件的delegate变量指向到之前使用UITextFieldDelegate协议的那个控制器类,将 TextField的delegate IBOutlet变量右键链接到前面的控制器类的实例上。或者使用代码方式,指定相关TextField的delegate变量。
    178 
    179 - (void)viewDidLoad 
    180 
    181 {
    182 
    183     [super viewDidLoad];
    184 
    185         itemNameField.delegate = self;
    186 
    187         priceField.delegate = self;
    188 
    189 }
  • 相关阅读:
    TreeMap
    索引
    B-树、B+树
    硬盘速度、存储方式
    2-3树
    多叉树、2-3-4树
    红黑树
    平衡树、AVL树
    树、多路树、二叉树
    Java实现后缀表达式建立表达式树
  • 原文地址:https://www.cnblogs.com/mohe/p/3577195.html
Copyright © 2011-2022 走看看