关于delegate(代理)总结
来源:互联网 发布:人工智能 百度网盘 编辑:程序博客网 时间:2024/06/04 19:53
stackoverflow 上讲解:http://stackoverflow.com/a/12660523/4563358
delegate是将需要处理交给自己的代理。
在自己的对应的类中.h文件中申明对应的delegate
@class CSPopMenu;@protocol CSPopMenuDelegate <NSObject>@optional-(void)PopMenuDimiss:(CSPopMenu *)popMenu;@end
插入一个可选择的方法,定义一个协议。
@property(nonatomic,weak)id <CSPopMenuDelegate> delegate;
delegate属性设定。
在类的.m文件中
-(void)dismiss{ if ([self.delegate respondsToSelector:@selector(PopMenuDimiss:)]) { [self.delegate PopMenuDimiss:self]; } [self removeFromSuperview]; }
调用对应的delegate的方法。
要对这个类进行相关的操作,那么首先你要成为这个类的一个代理
CSPopMenu *menuView= [[CSPopMenu alloc]initWithContentView:menuTableView]; menuView.popMenuPosition = CSPopMenuBackgroundleft; [menuView showRect:CGRectMake(100, 100, 100, 100)]; menuView.delegate = self;
把当前的类成为对应的类的一个代理。
然后就可以调用代理方法
//设置对应的转动的方向-(void)PopMenuDimiss:(CSPopMenu *)popMenu{ CSMainBtn *mainBtn = (CSMainBtn *)self.navigationItem.titleView; [mainBtn setImage:[UIImage imageNamed:@"navigationbar_arrow_down"] forState:UIControlStateNormal]; }
得到的效果如图
使得首先右边的箭头改变方向。
0 0
- 关于delegate(代理)总结
- delegate 代理
- protocol与delegate,代理(委托)与协议总结
- 关于delegate
- Delegate总结
- C#中的代理(Delegate)
- 代理(delegate)问题
- delegate,C#,代理
- C#中的代理(Delegate)
- C#中的代理(Delegate)
- C#中的代理(Delegate)
- C#中的代理(Delegate)
- C#中的代理(Delegate)
- Delegate代理实现
- Swift-代理-delegate
- Delegate 代理步骤
- 学习代理 笔记 delegate
- delegate事件代理
- Error Domain=com.alamofire.error.serialization.response Code=-1016 "Request failed: unacceptabl
- loadView、viewDidLoad、initWithCoder、initWithNibName、awakeFromNib的用法
- Java Socket网络编程的经典例子(转)
- 什么是一个对象?
- collectionview使用
- 关于delegate(代理)总结
- ios启动载入启动图片
- ios中图片拉伸用法
- 代码搭建记事本框架(二)
- 代码搭建记事本框架(一)
- (转)RVA-相对虚拟地址解释
- BigInger isProbablePrime
- 理解奈奎斯特定理和香农定理
- Ubuntu16.04下配置YouCompleteMe