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 好像用法比较简单,唯一需要注意的就是键盘的隐藏的,其他的特殊功能,可能还没用到吧,以后遇到相关问题再来补充记录。

  • 相关阅读:
    随笔 JS 字符串 分割成字符串数组 并动态添加到指定ID的DOM 里
    phpmyadmin查看创建表的SQL语句
    thinkphp 3.2响应头 x-powered-by 修改
    Centos 7.0查看硬盘使用情况 命令
    centos 7.0安装花生壳
    centos 7.0 菜鸟接触命令 记录
    centos 7.0 ssh 登陆
    Sphinx 2.2.6 window下安装全过程 未完 持续标记~~~~
    c#多线程编程实战(原书第二版)文摘
    分布式锁的几种实现方式(转)
  • 原文地址:https://www.cnblogs.com/wanghang/p/6298899.html
Copyright © 2011-2022 走看看