UITextField和UIButton

作者: ly渐行渐远 | 来源:发表于2015-11-25 20:26 被阅读877次

    UITextField

    UITextField(输入框):是控制文本输入和显示的控件。UITextField也是UIView的子类,在App中UITextField出现频率也比较高。iOS系统借助虚拟键盘实现输入,当点击输入框,系统会自动调出键盘,方便你进一步操作。在你不需要输入的时候,可以使用收回键盘的方法,收回弹出的键盘。UITextField和UILabel相比,UILabel主要用于文字显示,不能编辑,UITextField允许用户编辑文字(输入)。UITextField核心功能主要包含3个方面:1.文本显示 2.输入控制 3.外观配置
    创建UITextField与创建UILabel的步骤很相似。
    1、开辟空间并初始化(如果本类有初始化方法,使用自己的;否则使用父类的)。
    2、设置文本显示、输入相关的属性
    3、添加到父视图上,用以显示
    4、释放

     UITextField *textField = [[UITextField alloc]   initWithFrame:CGRectMake(100, 100, 190, 30)];
     textField.placeholder = @"手机号";
     [self.window addSubview:textField];
     //[userNameTextField release];//MRC中需要手动释放
    

    UITextField常用得属性

    text:要显示的文本内容(用的很少)
    textField.text = @"123456";

    placeholder:设置提示性文字,输入后消失
    textField.placeholder = @"请输入用户名...";

    textColor:文本内容的颜色
    textField.textColor = [UIColor grayColor];

    textAlignment:文本的对齐方式(水平方向)
    textField.textAlignment = NSTextAlignmentLeft;//居左

    font:字体样式及大小
    textField.font = [UIFont fontWithName:@"Bodoni 72" size:20];

    clearsOnBeginEditing:是否开始输入的时候清空输入框内容
    textField.clearsOnBeginEditing = YES;//清空

    secureTextEntry:是否文字以圆点格式显示
    extField.secureTextEntry = YES;//密码模式

    enabled:是否允许输入,改变空间本身的状态(默认值是yes)
    textField.enabled =NO;//不允许输入

    background:设置背景图片 如果不是png格式的,必须加后缀名。因为没有后缀名时系统默认是PNG格式
    textField.background = [UIImage imageNamed:@"001.png"];

    inputView:自定义输入视图(默认是键盘)

    UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, CGRectGetWidth(self.window.frame), 40)];
    view.backgroundColor = [UIColor whiteColor];
    textField1.inputAccessoryView = view;
    

    inputAccessoryView:输入视图上方的辅助视图(默认nil)
    textField.inputAccessoryView = myAccessoryView;

    keyboardType:键盘样式
    textField.keyboardType = UIKeyboardTypeNumberPad;//数字键盘

    keyboardAppearance:键盘外观
    textField.keyboardAppearance = UIKeyboardAppearanceDark;

    autocorrectionType:自动纠错(默认自动纠错)
    textField.autocorrectionType = UITextAutocorrectionTypeYes;

    autocapitalizationType:首字母大写(首字母不能大写的时候,可能和键盘样式有关)
    textField.autocapitalizationType = UITextAutocapitalizationTypeSentences;

    clearButtonMode:清除按钮模式(枚举值)
    textField.clearButtonMode = UITextFieldViewModeAlways; //总是显示清除按钮

    leftView和rightView:输入框左视图和输入框右视图

    textField.leftView = leftView;
    textField.leftViewMode = UITextFieldViewModeAlways; //总是显示左视图
    textField.rightView = rightView;
    textField.rightViewMode = UITextFieldViewModeAlways;//总是显示右视图
    

    UIButton

    UIButton: 按钮):是响应用户点击的控件。UIView的子类,在App中UIButton是出现频率很高的控件。UIButton与UILabel、UITextField侧重点不同,侧重于处理点按。当然UIButton类也提供了一些方法控制按钮外观。
    创建UIButton与创建UILabel、UITextField、UIView的步骤很相似。
    1、创建button对象(如果本类有初始化方法,使用自己的;否则使用父类的)。
    2、设置按钮显示相关的属性
    3、为按钮添加点击事件
    4、添加按钮到父视图上,用以显示
    5、按钮无需释放(因为使用的是类方法创建的button)

    UIButton *button = [UIButton buttonWithType:UIButtonTypeSystem];
    [button setFrame:CGRectMake(60, 310, 80, 40)]; //设置button的位置及大小
    button.backgroundColor = [UIColor whiteColor];//设置button的背景颜色
    //设置按钮的标题: Normal是按钮的常态,不做任何操作和设置情况下看到的按钮状态。Highlighted是用户按住按钮不松手时候看到的状态
    [button setTitle:@"登陆" forState:UIControlStateNormal];//常态
    [button setTitle:@"注册" forState:UIControlStateHighlighted];//高亮状态
    button.tintColor = [UIColor blackColor];//设置字体颜色
    button.showsTouchWhenHighlighted = YES;//点击时有光圈效果
    

    UIButton常用方法

    addTarget:action:forControlEvents:为按钮添加事件,指定按钮点击之后,执行target的action方法
    [button addTarget:self action:@selector(buttonAction:) forControlEvents:UIControlEventTouchUpInside];//单击触发

    removeTarget:action:forControlEvents:移除按钮的点击事件
    [button removeTarget:self action:@selector(buttonAction:) forControlEvents:UIControlEventTouchUpInside];

    setImage:forState:设置指定状态下的前景图片
    [loginButton setImage:[UIImage imageNamed:@“123.png”] forState:UIControlStateNormal];

    imageForState:获取指定状态下的前景图片
    UIImage *normalImage = [loginButton imageForState:UIControlStateNormal];

    backgroundImageForState:获取指定状态下的背景图片
    UIImage *normalBackgroundImage = [loginButton backgroundImageForState:UIControlStateNormal];

    相关文章

      网友评论

        本文标题:UITextField和UIButton

        本文链接:https://www.haomeiwen.com/subject/hfgrhttx.html