zoukankan      html  css  js  c++  java
  • iOS开发之五:常用控件--UITextField的使用

    UITextField 是iOS开发中用的非常多的一种控件,主要是供用户输入单行信息的。下面来详细介绍UITextField。

    1、常用属性

    <span style="font-size:14px;">// 设置和获取文本内容,默认nil
    @property(nonatomic,copy) NSString *text;
    // 设置文本内容颜色
    @property(nonatomic,retain) UIColor *textColor;
    // 设置字体
    @property(nonatomic,retain) UIFont *font
    // 对齐样式
    @property(nonatomic) NSTextAlignment textAlignment;
    // 设置风格,默认没有风格,需要设置
    @property(nonatomic) UITextBorderStyle borderStyle;
    // 提示用户输入内容文本
    @property(nonatomic,copy) NSString *placeholder;
    // 用户编辑时是否clear内容,默认为NO
    @property(nonatomic) BOOL clearsOnBeginEditing;
    // 自适应调整字体大小,默认为NO
    @property(nonatomic) BOOL adjustsFontSizeToFitWidth;
    // 设置代理
    @property(nonatomic,assign) id<UITextFieldDelegate> delegate;
    // 设置背景,需要将textField实例的风格设置为None
    @property(nonatomic,retain) UIImage *background;
    // 设置textField不可用时的背景图片
    @property(nonatomic,retain) UIImage *disabledBackground;
    // 设置是否可编辑
    @property(nonatomic,readonly,getter=isEditing) BOOL editing;
    // 清除按钮的模式,默认不出现
    @property(nonatomic) UITextFieldViewMode clearButtonMode;
    // 自定义左视图
    @property(nonatomic,retain) UIView *leftView;
    // 自定义左视图出现的模式
    @property(nonatomic) UITextFieldViewMode leftViewMode;
    // 不用系统键盘,自定义键盘
    @property (readwrite, retain) UIView *inputView;
    // 系统键盘和自定义键盘共存
    @property (readwrite, retain) UIView *inputAccessoryView;
    // 自动大写类型
    @property(nonatomic) UITextAutocapitalizationType autocapitalizationType;
    // 检查拼写是否正确
    @property(nonatomic) UITextAutocorrectionType autocorrectionType;
    // 修改键盘类型
    @property(nonatomic) UIKeyboardType keyboardType;
    // 修改返回类型
    @property(nonatomic) UIReturnKeyType returnKeyType;
    // 是否安全输入,比如用户输入密码
    @property(nonatomic,getter=isSecureTextEntry) BOOL secureTextEntry;</span>
    iOS中选中输入框会自动弹出键盘,但是如果需要关闭键盘则需要自己手动控制,一般关闭键盘,要么在点击returnKeyType的时候用代理方法关闭,或者点击真个View的空白区域来关闭。

    关闭键盘的方法,点参照我的另一片文章-----IOS隐藏键盘的几种方式

    2、常用的代理方法

    <span style="font-size:14px;">// 将要开始输入时调用
    - (BOOL)textFieldShouldBeginEditing:(UITextField *)textField {
    NSLog(@"开始输入");
    return YES;
    }
    // 将要输入结束时调用
    - (BOOL)textFieldShouldEndEditing:(UITextField *)textField {
    NSLog(@"输入结束");
    return YES;
    }
    // 清除文字按钮点击事件
    - (BOOL)textFieldShouldClear:(UITextField *)textField {
    NSLog(@"清除输入内容了");
    return YES;
    }
    // 键盘上的return按钮
    - (BOOL)textFieldShouldReturn:(UITextField *)textField {
    //隐藏输入键盘
    [textField resignFirstResponder];
    return YES;
    }</span>
    创建UITextField,如果用代码创建的话,实例代码如下:
    <span style="font-size:14px;">UITextField *textfield = [[UITextField alloc]
    initWithFrame:CGRectMake(20, 240, 200, 30)];
    // 禁止首字母大写
    textfield.autocapitalizationType = UITextAutocapitalizationTypeNone;
    // 设置键盘类型
    textfield.keyboardType = UIKeyboardTypeNamePhonePad;
    // 输入框的边框类型
    textfield.borderStyle = UITextBorderStyleRoundedRect;
    // 设置委托代理
    textfield.delegate = self;
    // 键盘上的return按钮类型
    textfield.returnKeyType = UIReturnKeyDone;
    // 是否安全输入,是的话,输入内容将为星号
    textfield.secureTextEntry = NO;
    // 清除按钮模式
    textfield.clearButtonMode = UITextFieldViewModeAlways;
    // 输入框中的文本颜色
    textfield.textColor = [UIColor redColor];
    // 输入框的字体
    textfield.font = [UIFont boldSystemFontOfSize:14];</span>
    UITextField 好像用法比较简单,唯一需要注意的就是键盘的隐藏的,其他的特殊功能,可能还没用到吧,以后遇到相关问题再来补充记录。

  • 相关阅读:
    python学习之路——匿名行数/函数递归与二分法
    python学习之路——作业 day16(18/10/10)
    python学习之路——global与nonlocal.py、装饰器
    python学习之路——命名关键字参数、函数对象、函数嵌套、名称空间与作用域、闭包函数
    matplotlib绘图库
    Java快速入门
    Eclipse常用快捷键
    Python网络爬虫-Scrapy框架
    Python网络爬虫-requests模块(II)
    Python网络爬虫-requests模块
  • 原文地址:https://www.cnblogs.com/wanghang/p/6298899.html
Copyright © 2011-2022 走看看