IOS初级:delegate的使用
2015-06-03 17:34
603 查看
delegate的应用场景:view中的事件,controller做处理(如刷新view中元素等)。
storyboard的textfield实现点击return实现收起键盘。
首先在ViewController.h文件中声明, 这个控制器类想要要实现在UITextField类中声明的UITextFieldDelegate某协议(可以是一个,也可以是多个协议)
然后在ViewController.m文件中实现一个协议textFieldShouldReturn
当点击键盘上的return时,系统就会调用这个代理方法。
也就是说调用textFieldShouldReturn不是在ViewController文件中,而是UITextField文件中。
ViewController只是在这里按自己的要求实现了这个方法。用不用还是根据是UITextField实际需求。
这里附上UITextField.h里的delegete声明片段
@property(nonatomic,assign) id<UITextFieldDelegate> delegate; // default is nil. weak reference
@protocol UITextFieldDelegate <NSObject>
@optional
- (BOOL)textFieldShouldReturn:(UITextField *)textField; // called when 'return' key pressed. return NO to ignore.
@end
UITextField.m文件中处理键盘return事件的时候应该有这么一段(老衲没找到源码)
[self.delegate textFieldShouldReturn];
storyboard的textfield实现点击return实现收起键盘。
首先在ViewController.h文件中声明, 这个控制器类想要要实现在UITextField类中声明的UITextFieldDelegate某协议(可以是一个,也可以是多个协议)
@interface ViewController : UIViewController <UITextFieldDelegate>
然后在ViewController.m文件中实现一个协议textFieldShouldReturn
- (BOOL) textFieldShouldReturn:(UITextField *)theTextField { if (theTextField == self.textField) { [theTextField resignFirstResponder];//辞去 第一响应者 } return YES; }
当点击键盘上的return时,系统就会调用这个代理方法。
也就是说调用textFieldShouldReturn不是在ViewController文件中,而是UITextField文件中。
ViewController只是在这里按自己的要求实现了这个方法。用不用还是根据是UITextField实际需求。
这里附上UITextField.h里的delegete声明片段
@property(nonatomic,assign) id<UITextFieldDelegate> delegate; // default is nil. weak reference
@protocol UITextFieldDelegate <NSObject>
@optional
- (BOOL)textFieldShouldReturn:(UITextField *)textField; // called when 'return' key pressed. return NO to ignore.
@end
UITextField.m文件中处理键盘return事件的时候应该有这么一段(老衲没找到源码)
[self.delegate textFieldShouldReturn];
相关文章推荐
- iOS手游培训在北京哪里学习好呢?
- ios开发的教程以及视频在如何下载?
- iOS 属性详解
- iOS FMDB的简单使用
- iOS cell添加点击时改变字体的颜色及背景
- IOS学习 隐藏status bar的设置
- iOS 获取所连接WIFI的名字
- iOS手动实现缓存机制(以FMDB实现)
- iOS应用内支付的那些坑儿
- iOS开发 - 静态库中使用category
- iOS开发时间戳与时间,时区的转换,汉字与UTF8,16进制的转换
- #IOS-navigation中左滑pop的三种方法
- #IOS-navigation中左滑pop的三种方法
- iOS错误堆栈查找崩溃原因的方法
- iOS显示隐藏状态栏
- iOS多种开源库实现上拉刷新下拉加载技巧
- iOS:判断昨天,今天,今年
- iOS开发——系统相册操作
- iOS功能特性
- iOS系统版本