UITextField的总结--转载

转载 2013年12月04日 09:44:39
1.UITextField的初始化和设置
  textField = [[UITextField alloc] initWithFrame:CGRectMake(120.0f, 80.0f, 150.0f, 30.0f)]; 
  [textField setBorderStyle:UITextBorderStyleRoundedRect]; //外框类型 
 
  textField.placeholder = @"password"; //默认显示的字 
 
  textField.secureTextEntry = YES; //密码 
 
  textField.autocorrectionType = UITextAutocorrectionTypeNo; 
  textField.autocapitalizationType = UITextAutocapitalizationTypeNone; 
  textField.returnKeyType = UIReturnKeyDone; 
  textField.clearButtonMode = UITextFieldViewModeWhileEditing; //编辑时会出现个修改X 
 
  textField.delegate = self;
2.要实现的Delegate方法,关闭键盘
  - (BOOL)textFieldShouldReturn:(UITextField *)textField 
  { 
      [self.textField resignFirstResponder]; 
      return YES; 
  } 
3. 可以在UITextField使用下面方法,按return键返回
-(IBAction) textFieldDone:(id) sender
{
 [textFieldName resignFirstResponder]; 
}
链接TextField控件的"Did end on exit"
最右侧加图片是以下代码,
    UIImageView *imgv=[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"right.png"]];
    text.rightView=imgv;
    text.rightViewMode = UITextFieldViewModeAlways;    


如果是在最左侧加图片就换成:
text.leftView=imgv;
text.leftViewMode = UITextFieldViewModeAlways;    
UITextField 继承自 UIControl,此类中有一个属性contentVerticalAlignment
所以想让UITextField里面的text垂直居中可以这样写:
text.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
查看函数的方法:
按住command键双击进入函数声明
按住alt键双击进入doc文档
///////////////////////////////////////////////////////////////
文本框常用方法:
如何用程序删除文本框中选中的文本
[textView delete: nil];
///////////////////////////////////////////////////////////////
如何限制文本框只能输入数字:
建立NSNumberFormatter的子类,增加这个方法,将formatter链接至文本框。
 
- (BOOL) isPartialStringValid: (NSString **) partialStringPtr
        proposedSelectedRange: (NSRangePointer) proposedSelRangePtr
               originalString: (NSString *) origString
        originalSelectedRange: (NSRange) origSelRange
             errorDescription: (NSString **) error
{
    NSCharacterSet *nonDigits;
    NSRange newStuff;
    NSString *newStuffString;
            
    nonDigits = [[NSCharacterSet decimalDigitCharacterSet] invertedSet];
    newStuff = NSMakeRange(origSelRange.location,
                           proposedSelRangePtr->location
                           - origSelRange.location);
    newStuffString = [*partialStringPtr substringWithRange: newStuff];
            
    if ([newStuffString rangeOfCharacterFromSet: nonDigits
                                                                                             options: NSLiteralSearch].location != NSNotFound) {
        *error = @"不是数字";
        return (NO);
    } else {
        *error = nil;
        return (YES);
    }
            
}
///////////////////////////////////////////////////////////////
从文本框获取十六进制数据的代码
char singleNumberString[3] = {'\0','\0','\0'};
uint32_t singleNumber = 0;
uint32_t i = 0;
 NSMutableData *data = [NSMutableData data];
 //从文本框获取到得数据
 const char *buf = [[_hexToSendTextField text] UTF8String];
 //转换为十六进制
 for(i = 0; i < strlen(buf); i+=2)
 {
 if(((i+1) < len && isxdigit(buf) && (isxdigit(buf[i+1])))
 {
 singleNumberString[0] = buf;
 singleNumberString[1] = buf[i+1];
 sscanf(singleNumberString, "%x", &singleNumber);
 [data appendBytes:(void*)(&tmp) length:1];
 }
 else
 {
 break;
 }
 }
 //输出
 NSLog(@"%@", data);
/////////////////////////////////////////////////////////////
点击 UITextView 输入文字,光标都从最初点开始
- (void)textViewDidChangeSelection:(UITextView *)textView
{
    NSRange range;
    range.location = 0;
    range.length = 0;
    textView.selectedRange = range;
}
///////////////////////////////////////////////////////////
软键盘
在登录页面要实现用户名和密码,密码要是点点格式,引入当前页面光标要停留在用户名选项,软键盘要弹出界面。如下图:
弹出键盘:
[username becomeFirstResponder];
取消键盘:
[username resignFirstResponder];
密码保护:
password.secureTextEntry=YES;
//////////////////////////////////////////////////////////////////
1.UITextField的初始化和设置
  textField = [[UITextField alloc] initWithFrame:CGRectMake(120.0f, 80.0f, 150.0f, 30.0f)]; 
  [textField setBorderStyle:UITextBorderStyleRoundedRect]; //外框类型 
  textField.placeholder = @"password"; //默认显示的字 
  textField.secureTextEntry = YES; //密码 
  textField.autocorrectionType = UITextAutocorrectionTypeNo; 
  textField.autocapitalizationType = UITextAutocapitalizationTypeNone; 
  textField.returnKeyType = UIReturnKeyDone; 
  textField.clearButtonMode = UITextFieldViewModeWhileEditing; //编辑时会出现个修改X 
  textField.delegate = self;
2.要实现的Delegate方法,关闭键盘
  - (BOOL)textFieldShouldReturn:(UITextField *)textField 
  { 
      [self.textField resignFirstResponder]; 
      return YES; 
  } 
3. 可以在UITextField使用下面方法,按return键返回
-(IBAction) textFieldDone:(id) sender
{
 [textFieldName resignFirstResponder]; 
}
链接TextField控件的"Did end on exit"
////////////////////////////////////////////////////////////////////
限制输入文本的长度
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
    if (range.location >= MAX_LENGTH)
        return NO; // return NO to not change text
    return YES;
}
if (textField.text.length >= 10 && range.length == 0)
    return NO;
return YES;
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string 

 if ([textField.text length] > MAXLENGTH) 
 { 
  textField.text = [textField.text substringToIndex:MAXLENGTH-1]; 
  return NO; 
 } 
 return YES; 

//////////////////////////////////////////////////////////////////////
使用UITextFieldDelegate来隐藏键盘 
在iPhone界面上,时常会需要当用户输入完内容后,隐藏键盘。 当然有很多方法,今天只介绍使用UITextFieldDelegate这个协议实现隐藏键盘。
其实很简单, 需要三步:
1. 在你的控制器类中,加入UITextFieldDelegate这个协议
如:@interface AddItemViewController : UIViewController <UITextFieldDelegate>
2. 在使用了UITextFieldDelegate协议的控制器类的实现中,加入- (BOOL)textFieldShouldReturn:方法。
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
 
        [textField resignFirstResponder];
        return YES;
}
 //设置焦点:


[UITextField becomeFirstResponder];


3. 将xib文件中的TextField控件的delegate变量指向到之前使用UITextFieldDelegate协议的那个控制器类,将 TextField的delegate IBOutlet变量右键链接到前面的控制器类的实例上。或者使用代码方式,指定相关TextField的delegate变量。


- (void)viewDidLoad 


{


    [super viewDidLoad];


        itemNameField.delegate = self;


        priceField.delegate = self;


}


转自---http://www.cnblogs.com/wengzilin/archive/2012/03/13/2393985.html

UITextField自定义[转载]

Swipe Shift Caret介绍: 在UITextView或者UITextField中插入文字的时候,用手指滑动屏幕左右两边任意位置,都可以左右调整文字输入光标(caret)。在选择文字范围时,...

iOS---------UITextField 转载修改文

UITextField也是很强大的,在社交类很常见,下面我们看一下UITextField  (感谢原作者 xiaoyangsavvy ) //初始化textfi...

UITextField 的常用总结

1.UITextField的初始化和设置 1 textField = [[UITextField alloc] initWithFrame:CGRe...

iOS --UITextField总结

1.UITextField的初始化及设置  searchTextField=[[UITextField alloc]initWithFrame:CGRectMake(1.0,0.0,searchBa...
  • Dev_Ho
  • Dev_Ho
  • 2014年12月29日 20:28
  • 1149

01【iOS总结】UIView、UILabel、UITextField、UIButton 、目标动作机制(+UIAlertView、UIAlertController)

1.UIView 他是整个UI控件的父类,大部分控件的初始化方法都使用 // 1.创建一个UIview对象(初始化)并设置它的frame(一个矩形) UIView *myView = [...

UITextField属性及方法大总结

//初始化textfield并设置位置及大小   UITextField *text = [[UITextField alloc]initWithFrame:CGRectMake(20, 20,...

UITextField - iOS - UI基础知识总结4

// UITextField__________________________________          // UITextField 是iOS中用来输入文字的控件,比UILable多了文字...

iOS UITextField总结

转载自:http://www.cnblogs.com/jy578154186/archive/2012/10/19/2731625.html (PS:确实很详细呢!) 1.UITextField的...

UITextField基本用法总结

//初始化textfield并设置位置及大小   UITextField *text = [[UITextField alloc]initWithFrame:CGRectMake(20, 20,...

UITextField使用总结

UItextField的归纳总结
  • FTD1120
  • FTD1120
  • 2016年01月01日 22:20
  • 312
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:UITextField的总结--转载
举报原因:
原因补充:

(最多只允许输入30个字)