UIKit 框架之UITextField

//
//  ViewController.m
//  UITextField
//
//  Created by City--Online on 15/5/20.
//  Copyright (c) 2015年 XQB. All rights reserved.
//

#import "ViewController.h"

@interface ViewController ()<UITextFieldDelegate>
@property(nonatomic,strong) UIDatePicker *datePicker;
@property(nonatomic,strong) UITextField *textField;
@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    _textField=[[UITextField alloc]initWithFrame:CGRectMake(10, 100, 200, 40)];
    //文本内容
    [email protected]"text";
     //设置Text样式 具体参考:NSAttributedString.h
    NSMutableAttributedString *attributedString=[[NSMutableAttributedString alloc]initWithString:_textField.text];
    NSRange range=NSMakeRange(0, _textField.text.length);
    [attributedString addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:20] range:range];
    [attributedString addAttribute:NSForegroundColorAttributeName value:[UIColor redColor] range:range];
    _textField.attributedText=attributedString;
    //设置文本颜色
    _textField.textColor=[UIColor blueColor];
    //设置字体大小
    _textField.font=[UIFont systemFontOfSize:30];
    //对齐方式 枚举
    _textField.textAlignment=NSTextAlignmentLeft;
    //边框样式 枚举
    _textField.borderStyle=UITextBorderStyleRoundedRect;
    //设置默认的Text的样式
    [email protected]{NSForegroundColorAttributeName:[UIColor blackColor],NSUnderlineStyleAttributeName:@2};
    //text属性为空时显示
    [email protected]"placeholder";
    //设置placeholder文本属性
    _textField.attributedPlaceholder=_textField.attributedText;
    //成为焦点时文本内容清空
    _textField.clearsOnBeginEditing=YES;
    //根据宽度自动适应字体大小
    _textField.adjustsFontSizeToFitWidth=YES;
    //最小的字体大小
    _textField.minimumFontSize=12;
    //设置代理
    _textField.delegate=self;
//    //设置背景图
//    textField.background=[UIImage imageNamed:@"1.jpg"];
//    //设置不可用时的背景图 若background未设置则忽略
//    textField.disabledBackground=[UIImage imageNamed:@"2.jpg"];

    //是否可以更改字符属性字典
    _textField.allowsEditingTextAttributes=YES;
    //属性字典
    _textField.typingAttributes=_textField.defaultTextAttributes;

    //设置清除按钮的显示样式
//    typedef NS_ENUM(NSInteger, UITextFieldViewMode) {
//        UITextFieldViewModeNever,
//        UITextFieldViewModeWhileEditing,
//        UITextFieldViewModeUnlessEditing,
//        UITextFieldViewModeAlways
//    };
    _textField.clearButtonMode=UITextFieldViewModeAlways;

    //左视图
    UIView *leftView=[[UIView alloc]initWithFrame:CGRectMake(0, 0, 20, 40)];
    leftView.backgroundColor=[UIColor redColor];
    _textField.leftView=leftView;
    //设置左视图也不显示 需要设置leftViewMode
    _textField.leftViewMode=UITextFieldViewModeAlways;

    //右视图   与左视图一样
    UIView *rightView=[[UIView alloc]initWithFrame:CGRectMake(0, 0, 20, 40)];
    rightView.backgroundColor=[UIColor blueColor];
    _textField.rightView=rightView;
    _textField.rightViewMode=UITextFieldViewModeAlways;

    //设置弹出视图
    _textField.inputView=self.inputView;
    //设置弹出辅助视图
    _textField.inputAccessoryView=self.inputAccessoryView;

    //设置是否允许再次编辑时在内容中间插入内容
    _textField.clearsOnInsertion=YES;

    //UITextFiled和 UITextView都遵循 UITextInputTraits协议,在UITextInputTraits协议中定义了设置键盘的属性

    //键盘类型  枚举
    _textField.keyboardType=UIKeyboardTypeNumbersAndPunctuation;
    //键盘Return键显示的文本,默认为”Return”,其他可选择的包括Go,Next,Done,Send,Google等
    _textField.returnKeyType=UIReturnKeyDone;
    //键盘外观
    _textField.keyboardAppearance=UIKeyboardAppearanceLight;
    //文本大小写样式
    _textField.autocapitalizationType=UITextAutocapitalizationTypeWords;
    //是否自动更正
    _textField.autocorrectionType=UITextAutocorrectionTypeYes;
    //拼写检查设置
    _textField.spellCheckingType=UITextSpellCheckingTypeYes;
    //是否在无文本时禁用Return键,默认为NO。若为YES,则用户至少输入一个字符后Return键才被激活
    _textField.enablesReturnKeyAutomatically=YES;
    //若输入的是密码,可设置此类型为YES,输入字符时可显示最后一个字符,其他字符显示为点
    _textField.secureTextEntry=YES;

    [self.view addSubview:_textField];

}
//UITextFieldDelegate
//点击输入框时触发的方法,返回YES则可以进入编辑状态,NO则不能
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
    //return NO to disallow editing
    NSLog(@"点击输入框 textFieldShouldBeginEditing");
    return YES;
}
//开始编辑时调用的方法
- (void)textFieldDidBeginEditing:(UITextField *)textField
{
    NSLog(@"开始编辑 textFieldDidBeginEditing");
}
//将要结束编辑时调用的方法,返回YES则可以结束编辑状态,NO则不能
- (BOOL)textFieldShouldEndEditing:(UITextField *)textField
{
    NSLog(@"将要结束编辑 textFieldShouldEndEditing");
    return YES;
}
//结束编辑调用的方法
- (void)textFieldDidEndEditing:(UITextField *)textField
{
     NSLog(@"结束编辑 textFieldDidEndEditing");
}
//输入字符时调用的方法
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
    NSLog(@"输入字符结束编辑 shouldChangeCharactersInRange");
    return YES;
}
//点击清除按钮时调用的函数,返回YES则可以清除,点击NO则不能清除
- (BOOL)textFieldShouldClear:(UITextField *)textField
{
    NSLog(@"点击清除按钮 textFieldShouldClear");
    return YES;
}
//点击return键触发的函数
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
    [_textField resignFirstResponder];
    NSLog(@"点击return键 textFieldShouldReturn");
    return YES;
}

-(UIView *)inputView
{
    if (!_datePicker) {
        _datePicker=[[UIDatePicker alloc]init];
        _datePicker.datePickerMode=UIDatePickerModeDate;
        _datePicker.date=[NSDate date];
//        [_datePicker addTarget:self action:@selector(valueChanged) forControlEvents:UIControlEventValueChanged];
        return _datePicker;
    }
    return _datePicker;

}
-(UIView *)inputAccessoryView
{
    UIToolbar *toolBar=[[UIToolbar alloc]initWithFrame:CGRectMake(0, 0, 320, 44)];
    UIBarButtonItem *item=[[UIBarButtonItem alloc]initWithTitle:@"done" style:UIBarButtonItemStyleDone target:self action:@selector(done)];
    toolBar.items =[NSArray arrayWithObject:item];
    return toolBar;

}

-(void)valueChanged
{
    NSLog(@"valueChanged");
}
-(void)done
{
    [_textField resignFirstResponder];
    NSLog(@"%@",_datePicker.date);
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end

时间: 2024-10-12 15:26:41

UIKit 框架之UITextField的相关文章

UIKit框架各个类的简介

1.UIAcceleration: 被叫做加速事件的一个UIAcceleration类的实例是用来代表即时的三维加速数据.为了接收重力加速度,要注册一个应用应用程序作为一个共享UIAccelerater对象的委托对象(参考UIAcceleromete类). 2. UIAccelerater: UIAccelerater类可以让你的寄存器接收到从板载硬件上得到的加速相关数据.当设备移动时,它的硬件能够报告沿主线在三维空间中的线性加速度变化.你可以利用这些数据来检测器件的电流方向和该方向的瞬时变化.

iOS UIKit框架

1. 简介: UIKitk框架提供一系列的Class(类)来建立和管理iPhone OS应用程序的用户界面( UI )接口.应用程序对象.事件控制.绘图模型.窗口.视图和用于控制触摸屏等的接口.(PS1: 可以认为是操纵界面的一个API库)(PS2: UIKit框架是用在iOS平台上与之对应的是MAC OS X上的Application Kit,二者是姐妹框架,作用和目的没啥太大区别(我没有说实现目的的过程也一样),表混淆了) 2. 框架的入口: #import <UIKit/UIKit.h>

iOS UIKit 框架 346 篇文档分类整理 - 预告

太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循"署名-非商业用途-保持一致"创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS.Android.Html5.Arduino.pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作. 当前正在进行的是 "iOS Foundation 框架 224 篇相关文档分类整理",量很大,但会根据实际开发中的使用频繁程序

UIKit框架(2)框架简介

UIKit框架 什么是框架? 简单来说,就是其他攻城狮开发完成的代码,包括库文件.头文件等,这些文件中的API我们可以拿过来使用 UIKit框架是干什么的? 提供创建基于触摸用户界面的类 包括:屏幕上的绘制机制.捕捉事件.管理组织复杂的UI元素 UIKit中最重要的两个类? 1)UIView:所有可以看到的组件/控件/视图的父类 如:UIButton按钮.UILabel标签.UITextField输入框.UIImageView图片视图等 2)UIViewController:所有控制器的父类,负

UIKit框架使用总结--看看你掌握了多少

一.经常使用的,基本就是每次项目迭代都需要使用的 UIView.UILabel.UIImage.UIColor.UIFont.UIImageView.UITextField.UIButton. UIScrollView.UITableView.UITableViewCell.UICollectionView.UICollectionViewCell.UITextView. UIViewController 二.偶尔使用,或者说不是每次都要敲出来的 1.功能专用 UIPickerView(数据选择

UIKit框架之UIButton详解

UIKit框架是iPhone应用程序开发中最基本的框架,也是用得最多.最重要的框架,今天要和大家分享的就是UIKit中的UIButton相关知识,一起来看看吧. 1.实例化: 1.1.init方式: 1 UIButton *button = [[UIButton alloc] initWithFrame:rect]; 1.2.类方法方式: 1 UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 其中按钮类型枚

UIKit框架

在今后的应用程序构建中,会陆续使用各式各样的控件,因此UIKit框架的引入是必不可少的! 一.简介 UIKitk框架提供一系列的Class(类)来建立和管理iPhone OS应用程序的用户界面接口.应用程序对象.事件控制.绘图模型.窗口.视图和用于控制触摸屏等的接口. 二.框架的入口 #import <UIKit/UIKit.h> 三.框架图:

iOS开发概述UIkit动力学,讲述UIKit的Dynamic特性,UIkit动力学是UIkit框架中模拟真实世界的一些特性。

转发:http://my.oschina.net/u/1378445/blog/335014 iOS UIKit动力学 Dynamics UIAttachmentBehavior 实现iMessage风格 目录[-] UIDynamicAnimator UIAttachmentBehavior(吸附) UIPushBehavior(推动) UIGravityBehavior(重力) UICollisionBehavior(碰撞) UISnapBehavior(捕捉) UICollectionVi

cocoa的UIKit框架

在cocoa中有许多框架,其中最基本的也是最常用的就是Foundation框架和UIKit框架, Foudation框架是oc的基础框架,和界面无关. UIKit框架是与界面相关的基础框架.下面是UIKit框架的类组织架构图: 框架类组织架构图: