iOS UITextField的属性、代理及通知

一、UITextField通知(UITextField文本发生变化会调用通知)

初始化一个(连线)UITextField控件

@property (weak, nonatomic) IBOutlet UITextField *pwdField;

在viewDidLoad初始化通知

//注意name和object的设定值[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(textChange) name:UITextFieldTextDidChangeNotification object:self.pwdField];

实现通知方法

/**
 *  文本框的文字发生改变的时候调用
 */
- (void)textChange
{
    //在这里面当self.pwdFiled控件文字发生变化就会掉用这个通知方法。}

二、UITextField的代理方法

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField;        // return NO to disallow editing.
- (void)textFieldDidBeginEditing:(UITextField *)textField;           // became first responder
- (BOOL)textFieldShouldEndEditing:(UITextField *)textField;          // return YES to allow editing to stop and to resign first responder status. NO to disallow the editing session to end
- (void)textFieldDidEndEditing:(UITextField *)textField;             // may be called if forced even if shouldEndEditing returns NO (e.g. view removed from window) or endEditing:YES called

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string;   // return NO to not change text

- (BOOL)textFieldShouldClear:(UITextField *)textField;               // called when clear button pressed. return NO to ignore (no notifications)
- (BOOL)textFieldShouldReturn:(UITextField *)textField;              // called when ‘return‘ key pressed. return NO to ignore.

三、UITextField的属性

//创建UITextField对象
UITextField * YM=[[UITextField alloc]init];

//设置文字[email protected]"欲眠";

//设置UITextField的文字颜色
YM.textColor=[UIColor redColor];

//设置UITextField的文本框背景颜色
YM.backgroundColor=[UIColor grayColor];

//设置UITextField的边框的风格
YM.borderStyle=UITextBorderStyleRoundedRect;

//设置UITextField的代理
YM.delegate=self;

//设置UITextField的文字对齐方式
YM.textAlignment=UITextAlignmentCenter;//居中对齐
YM.textAlignment=UITextAlignmentLeft;//左对齐
YM.textAlignment=UITextAlignmentRight;//右对齐
YM.textAlignment=UITextAlignmentFill;//填充对齐

//设置UITextField的文字大小和字体
YM.font=[UIFont fontWithName:@"Times New Roman" size:20];

//设置UITextField自适应文本框大小
YM.adjustsFontSizeToFitWidth=YES/NO;//自适应宽度
YM.adjustsFontSizeToFitHeight=YES/NO;//自适应高度

//设置UITextField是否拥有一键清除的功能
YM.clearsOnBeginEditing=YES/NO;

//设置一键清除按钮是否出现
YM.clearButtonMode=UITextFieldViewModeNever;

//设置UITextField的初始隐藏文字
[email protected]"输入密码";

//当UITextField的样式为UITextBorderStyleNone的时候,修改背景图片
YM.background=[UIImage imageNamed:@"xx.png"];

//设置UITextField的左边view
YM.leftView=xxx;

//设置UITextField的左边view出现模式
YM.leftViewMode=UITextFieldViewModeAlways;

//设置UITextField的右边view
YM.rightView=xxx;

//设置UITextField的右边view出现模式
YM.rightViewMode=UITextFieldViewModeAlways;

//设置UITextField的字的摆设方式
YM.contentVerticalAlignment=UIControlContentVerticalAlignmentCenter;

  

时间: 2024-10-05 09:07:42

iOS UITextField的属性、代理及通知的相关文章

iOS开发——UI篇&代理/通知/Block传值(实现UItableView分组的收缩与展开)

代理/通知/Block传值实现UItableView分组的收缩与展开 初始化之后出现下面的界面 准备: 1:定义一个BOOL值用来记录点击 1 @property (nonatomic, assign, getter = isOpen) BOOL open; 2:在相应的点击方法里面是实现点击 1 self.group.open = !self.group.open; 3:在numberOfRowsInSection中返回的时候使用三木判断是否点击,并且实现伸缩与展开, 1 return mod

iOS—OC——KVO,代理,通知

代理:一般控件用的比较多,其实也可以用block实现,如果实现的接口比较 多得话,建议用代理,如UITableView. 通知:这东西是全局的,而且是同步的,如果你要全局发送消息,并且做的事情时间不长,不会阻塞线程的话,建议使用. KVO:KVO是建立在KVC的基础之上的,它通过KeyPath 观察对象的值,当值发生变化的时候会收到通知.比如,你需要监听UITableView的ContentOffSet,那么当TableView滑动的时候,就会不停的收到contentOffSet Point值.

IOS UITextField. placeholder属性这个提示符的大小和颜色

用UITextField都知道,默认有个提示,原理是kvc,监听, textField.placeholder = @"This is textField.placeholder"; [textField setValue:[UIColor green] forKeyPath:@"_placeholderLabel.textColor"]; [textField setValue:[UIFont boldSystemFontOfSize:15] forKeyPath

iOS UITextField控件总结

iOS UITextField控件总结 先声明下面总结不是自己写的. //初始化textfield并设置位置及大小 UITextField *text = [[UITextField alloc]initWithFrame:CGRectMake(20, 20, 130, 30)]; //设置边框样式,只有设置了才会显示边框样式 text.borderStyle = UITextBorderStyleRoundedRect; typedef enum { UITextBorderStyleNone

代理和通知

代理和通知 代理的使用步骤 定义一份代理协议 协议名字的格式一般是:类名 + Delegate 比如UITableViewDelegate 代理方法细节 一般都是@optional 方法名一般都以类名开头 比如- (void)scrollViewDidScroll: 一般都需要将对象本身传出去 比如tableView的方法都会把tableView本身传出去 必须要遵守NSObject协议 比如@protocol XMGWineCellDelegate <NSObject> 声明一个代理属性 代

iOS中的自定义代理模式

iOS中的自定义代理模式 自定义代理模式分为6步,遵循这6步,就能把代理完整的实现. 1.定义协议(协议中存放代理的任务).我们对于有的自定义的布局视图,并不会带有协议,为了满足我们有时候的开发需求,需要添加代理.那么我们就要先定义一个协议.如下:在自定义视图的DelegateView.h文件中定义一个DelegateViewDelegate协议,协议默认的都是必须的实现的方法,可以根据需求来添加可选实现的方法. 1.定义协议 2.定义代理属性,用来存储代理对象. 2.定义代理属性 3.为Del

IOS笔记044-通知和代理(观察者模式和代理模式)

  处理文本输入框的输入事件,单击文本输入框后要弹出键盘. 弹出键盘有两种实现方式:一种代理,一种通知.也就是对应的(观察者模式和代理模式).   1.通知 1.1.准备工作 每一个应用程序都有一个通知中心(NSNotificationCenter)实例,专门负责协助不同对象之间的消息通信. 任何一个对象都可以向通知中心发布通知(NSNotification),描述自己在做什么. 其他感兴趣的对象(Observer)可以申请在某个特定通知发布时(或在某个特定的对象发布通知时)收到这个通知.  

回传值(代理、通知、block)

回传值问题,一直都是困扰初学者的问题,今写者 代理.通知.block 三者的回传值做了一个小小的总结, Main.storyboard 视图: 通过代码分别创建三个代表 代理.通知.block 的按钮,点击相应的按钮,会将相应的文本传入文本框中显示出来 代码如下: 1 // GWFMyDelegateBlockNotyView.h 2 // 回传值 3 4 #import <UIKit/UIKit.h> 5 @class GWFMyDelegateBlockNotyView; 6 7 //协议

代理、通知、KVO

代理设计模式的作用: 1.A对象监听B对象的一些行为,A成为B的代理 2.B对象想告诉A对象一些事情,A成为B的代理 代理设计模式的总结: 如果你想监听别人的一些行为,那么你就要成为别人的代理 如果你想告诉别人一些事情,那么就让别人成为你的代理 代理设计模式的开发步骤 1.拟一份协议(协议名字的格式:控件名 + Delegate),在协议里面声明一些代理方法(一般代理方法都是@optional) 2.声明一个代理属性:@property (nonatomic, weak) id<代理协议> d