object-c 调用带参函数
[squel[i][j]addTarget:selfaction:@selector(myButtonPressed:i)forControlEvents:UIContr...
[squel[i][j] addTarget:self action:@selector(myButtonPressed:i) forControlEvents:UIControlEventTouchUpInside];
-(void)myButtonPressed:(int)num{...}
怎么改第一句使得带参i的函数被调用? 展开
-(void)myButtonPressed:(int)num{...}
怎么改第一句使得带参i的函数被调用? 展开
2个回答
展开全部
[squel[i][j] addTarget:self action:@selector(myButtonPressed:) forControlEvents:UIControlEventTouchUpInside];添加按钮点击的方法收写调用的方法
-(IBAction)myButtonPressed:(id)sender{
//your code
}
你想要传递什么参数都可以放在button里边,调用方法中的形参(id)sender就是点击的button对象,比如你传递一个整形参数i,你就可以设置button.tag=i;然后在响应方法里边取tag就可以了,希望能帮到你
-(IBAction)myButtonPressed:(id)sender{
//your code
}
你想要传递什么参数都可以放在button里边,调用方法中的形参(id)sender就是点击的button对象,比如你传递一个整形参数i,你就可以设置button.tag=i;然后在响应方法里边取tag就可以了,希望能帮到你
更多追问追答
追问
我这是一个数组的按钮,是64个,那样的话一个个去写也太慢了
追答
一个数组的按钮是什么意思,没懂,你贴两句详细的代码我看下
展开全部
不用IB 用category就搞定
@interface UIButton (DealButton)
- (Button *)dealButton:(int) i;
@end
@implementation UIButton (DealButton)
- (Button *)dealButton: (int) i
{
self.tag = i;
return self;
}
@end
[[(Button *)squel[i][j] dealButton: i] addTarget:self action:@selector(myButtonPressed:) forControlEvents:UIControlEventTouchUpInside];
- (void)myButtonPressed:(Button *)sender
{
int num = sender.tag;
......
}
@interface UIButton (DealButton)
- (Button *)dealButton:(int) i;
@end
@implementation UIButton (DealButton)
- (Button *)dealButton: (int) i
{
self.tag = i;
return self;
}
@end
[[(Button *)squel[i][j] dealButton: i] addTarget:self action:@selector(myButtonPressed:) forControlEvents:UIControlEventTouchUpInside];
- (void)myButtonPressed:(Button *)sender
{
int num = sender.tag;
......
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询