Reputation: 961
i have create a UIBUtton
editButton = [[UIButton alloc]initWithFrame:CGRectMake(width, -4, 30, 30)];
[editButton setImage:[UIImage imageNamed:@"DeleteButton.jpg"] forState:UIControlStateNormal];
[editButton addTarget:self action:@selector(deleteObjectViewImage:) forControlEvents:UIControlEventTouchUpInside];
editButton.hidden = YES;
[editButton setTag:tag];
[backView addSubview:editButton];
But control not jump to its definition where i check if button give its tag value on click or not.
-
(void)deleteObjectViewImage
{
NSInteger index = editButton.tag;
editButton.hidden = YES;
}
Can anyone tell me why it not work please.
Upvotes: 0
Views: 454
Reputation: 26400
Try this
editButton = [[UIButton alloc]initWithFrame:CGRectMake(width, -4, 30, 30)];
[editButton setImage:[UIImage imageNamed:@"DeleteButton.jpg"] forState:UIControlStateNormal];
[editButton addTarget:self action:@selector(deleteObjectViewImage:) forControlEvents:UIControlEventTouchUpInside];
editButton.hidden = YES;
[editButton setTag:tag];
[backView addSubview:editButton];
- (void)deleteObjectViewImage:(id)sender
{
UIButton *button = (UIButton *)sender;
NSLog(@"Button tag is %d",button.tag);
button.hidden = YES;
}
Upvotes: 0
Reputation: 15147
For getting Tag Value you have to write this code in Button Click event...
-(IBAction)deleteObjectViewImage:(id)sender
{
UIButton *btn = (UIButton *)sender;
NSLog(@"%d",btn.tag);
}
Don't remove colon from
[editButton addTarget:self action:@selector(deleteObjectViewImage:) forControlEvents:UIControlEventTouchUpInside];
Upvotes: 0
Reputation:
[editButton addTarget:self action:@selector(deleteObjectViewImage:) forControlEvents:UIControlEventTouchUpInside];
expects the function deleteObjectViewImage: to have one argument. But the function definition doesnt has any.
UPDATE:
-(void)deleteObjectViewImage: (id) sender
{
UIButton *clickedButton = (UIButton *) sender;
NSInteger index = clickedButton.tag;
editButton.hidden = YES;
}
and use
[editButton addTarget:self action:@selector(deleteObjectViewImage:) forControlEvents:UIControlEventTouchUpInside];
Upvotes: 1
Reputation: 6016
Use this line instead of line in your code (colon removed after function name),
[editButton addTarget:self action:@selector(deleteObjectViewImage) forControlEvents:UIControlEventTouchUpInside];
Upvotes: 1