iOS:UITextFiled控件的设置

来源:互联网 发布:php读取json文件内容 编辑:程序博客网 时间:2024/04/29 16:59


在 Xcode 中 给视图拖上去一个文本框后,选中文本框,可以在Attribute Inspector中设置其各种属性。

Attribute Inspector 分为三部分,分别是 Text Field、Control 和 View 部分。我们重点看看 Text Field 部分。

Text Field 部分有以下选项:

1、Text :设置文本框的默认文本。

 接下来的方框,可以在里面输入文字,在文本框例显示。

2、Placeholder : 可以在文本框中显示灰色的字,用于提示用户应该在这个文本框输入什么内容。当这个文本框中输入了数据时,用于提示的灰色的字将会自动消失。

3、Background :

4、Disabled : 若选中此项,用户将不能更改文本框内容。

5、接下来是三个按钮,用来设置对齐方式。

6、Border Style : 选择边界风格。

7、Clear Button : 这是一个下拉菜单,你可以选择清除按钮什么时候出现,所谓清除按钮就是出一个现在文本框右边的小 X ,你可以有以下选择:

    7.1 Never appears : 从不出现
    7.2 Appears while editing : 编辑时出现
    7.3 Appears unless editing :
    7.4 Is always visible : 总是可见

8、Clear when editing begins : 若选中此项,则当开始编辑这个文本框时,文本框中之前的内容会被清除掉。比如,你现在这个文本框 A 中输入了 "What" ,之后去编辑文本框 B,若再回来编辑文本框 A ,则其中的 "What" 会被立即清除。

9、Text Color : 设置文本框中文本的颜色。

10、Font : 设置文本的字体与字号。

11、Min Font Size : 设置文本框可以显示的最小字体(不过我感觉没什么用)

12、Adjust To Fit : 指定当文本框尺寸减小时,文本框中的文本是否也要缩小。选择它,可以使得全部文本都可见,即使文本很长。但是这个选项要跟 Min Font Size 配合使用,文本再缩小,也不会小于设定的 Min Font Size 。

接下来的部分用于设置键盘如何显示。

13、Captitalization : 设置大写。下拉菜单中有四个选项:

    13.1 None : 不设置大写
    13.2 Words : 每个单词首字母大写,这里的单词指的是以空格分开的字符串
    13.3 Sentances : 每个句子的第一个字母大写,这里的句子是以句号加空格分开的字符串
    13.4 All Characters : 所以字母大写

14、Correction : 检查拼写,默认是 YES 。

15、Keyboard : 选择键盘类型,比如全数字、字母和数字等。

16、Appearance:

17、Return Key : 选择返回键,可以选择 Search 、 Return 、 Done 等。

18、Auto-enable Return Key : 如选择此项,则只有至少在文本框输入一个字符后键盘的返回键才有效。

19、Secure : 当你的文本框用作密码输入框时,可以选择这个选项,此时,字符显示为星号。


小例子:


创建单视图工程,在.h文件中遵守UITextFieldDelegate协议,在.m 文件里,

- (void)viewDidLoad

{

    [superviewDidLoad];

    

   UITextField *pText = [[UITextFieldalloc]initWithFrame:CGRectMake(20,40, 280, 30)];

     //键盘样式

    pText.borderStyle =UITextBorderStyleLine;

    //文本框背景色

    pText.backgroundColor = [UIColororangeColor];

    //文本框标题

    //pText.text = @"please input information";

    //设置面向使用者的提示信息

    pText.placeholder =@"请输入信息";

    //文本框字体大小

    pText.font = [UIFontsystemFontOfSize:20];

    //设置清除按钮格式

    pText.clearButtonMode =UITextFieldViewModeAlways;

    //添加右侧的视图

   UIImage *image = [UIImageimageNamed:@"2"];

    

    pText.leftView = [[UIImageViewalloc]initWithImage:image];

    

    //让左侧视图在编辑时显示

    pText.leftViewMode =UITextFieldViewModeWhileEditing;

    //设置文本框代理

    pText.delegate =self;

    

    [self.viewaddSubview:pText];

}

#pragma ======================UITextField Delegate=============================


//编辑开始前被调用

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField

{

    //若返回NO,则键盘不会出现,无法编辑

    return YES;

}

//编辑结束前被调用

-(BOOL)textFieldShouldEndEditing:(UITextField *)textField

{

    return YES;

}

//文本修改前被调用

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string

{

    return YES;

}

//键盘上的回车键被触摸时调用

- (BOOL)textFieldShouldReturn:(UITextField *)textField

{

    //返回NO,文本框保持原样

    return YES;

}

//文本输入框的清除按钮被触摸时调用

- (BOOL)textFieldShouldClear:(UITextField *)textField

{

    return YES;

}

//编辑开始后调用

 - (void)textFieldDidBeginEditing:(UITextField *)textField

{

    

}

//编辑结束后调用

- (void)textFieldDidEndEditing:(UITextField *)textField

{

    

}

- (void)didReceiveMemoryWarning

{

    [superdidReceiveMemoryWarning];

    // Dispose of any resources that can be recreated.

}

//弹回键盘的方法

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{

    [self.viewendEditing:YES];

}



运行,结果如下:



点击文本框,键盘出现,同时视图按钮也出现了,如下:




在文本框输入字母,视图消失,清除按钮出现: