点击事件的参数问题

来源:互联网 发布:金融一体机安装软件 编辑:程序博客网 时间:2024/06/05 04:08



视图控制器的点击事件: 

在该视图控制器的实现文件中实现该方法:

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event


这里要简单说一下点击页面其他部分退出键盘的功能: 

需要在上述方法中说明语句: 

[ self.view endEditing:YES ];



按钮的点击事件: 

 [button addTarget:selfaction:@selector(clickAction:)forControlEvents:UIControlEventTouchUpInside];


先给按钮添加点击事件, 如果按钮被点击, 那么实现clickAction:方法.

这里的clickAction:要说明一下参数问题:


  如果方法名后面有一个冒号(:), 代表该方法需要传一个参数, 这个参数代表被点击的那个对象. 即self

  系统默认点击事件的参数是id类型, 即对象类型. 在clickAction方法的实现中, 写方法名的时候, 可以直接将参数定义为被点击的对象的类型. 比如按钮的点击事件: 


-(void)clickAction:(UIButton *)sender

{

}


这里边sender代表的就是被点击的按钮, 可以在方法中对sender进行操作, 也可以给按钮设定tag值,  之后在方法中查找sender的tag值, 进行一系列操作.

这里边将参数的类型写成UIButton类型而并不是id类型的原因是:

我们已经知道被点击的对象是按钮, 传过来得参数也必定是按钮类型. 写id类型, 如果需要在方法中使用sender, 那么就需要将sender进行类型转换: 

(UIButton*)id

这样就多了一个执行步骤. 


0 0
原创粉丝点击