我有一个表格,其中有一个按钮进入自定义单元格。当我按下此按钮时,它会调用一个方法,使用以下代码检测按钮:
NSIndexPath *indexPath = [NSIndexPath indexPathForRow: [[[notification userInfo] valueForKey:@"row"] intValue] inSection: 0];
PlaceRoomCustomCell *cell = (PlaceRoomCustomCell*)[self tableView:self.tableView cellForRowAtIndexPath:indexPath];
for (UIView *view in cell.contentView.subviews){
if (view.tag == 1) {
for (UIView *subview in view.subviews){
if ([subview isKindOfClass:[UIButton class]]){
[(UIButton *)subview setImage:[UIImage imageNamed:@"placeRoomTableCellLikeButtonRedIcon.png"] forState:UIControlStateNormal];
[(UIButton *)subview setImage:[UIImage imageNamed:@"placeRoomTableCellLikeButtonRedIcon.png"] forState:UIControlStateHighlighted];
[(UIButton *)subview setImage:[UIImage imageNamed:@"placeRoomTableCellLikeButtonRedIcon.png"] forState:UIControlStateDisabled];
NSLog(@"tag %i",subview.tag); //correct
}
}
}
}
标签是正确的,但图像不会更改。
我不能直接使用按钮的id发送者,或者更确切地说,我不想使用它。
代码似乎正确
谢谢你!答案 0 :(得分:0)
通常,当任何UI对象向您的控制器发送操作时,该方法将通过sender
,您是否可以使用它?
e.g。上面代码所在方法的定义可能类似于:
-(void)buttonPressed:(id)sender;
其中sender
应该是按钮。
虽然我怀疑我们错过了一些其他重要信息,因为你正在使用NSNotifications ......