我正在尝试实现自定义下拉菜单(通过互联网搜索代码)并将其用于两个UIButton。 按下按钮时,会出现tableView。 我为一个UIButton实现了它,我正在尝试将它实现为另一个按钮,但我不知道它将如何知道哪个对象正在调用该委托。
在CustomDropDownView.m
中@protocol DropDownViewDelegate
@required
- (void)dropDownCellSelected:(NSInteger)returnIndex;
@end
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
[delegate dropDownCellSelected:indexPath.row];
[self closeDropDown];
}
在ViewController.m中
- (void)dropDownCellSelected:(NSInteger)returnIndex {
//here I've to decide which button is changed
[self.reminderCategory setTitle:[reminderCategoryList objectAtIndex:returnIndex] forState:UIControlStateNormal];
}
如何知道按下哪个按钮。 我刚刚开始学习并与代表们一起努力,请帮助。
答案 0 :(得分:1)
最简单的解决方案是使用tableView.tag属性,如果按钮1或2触发其外观,则将其设置为1或2。 然后将协议修改为:
-(void)dropDownCellSelected:(NSInteger)returnIndex forButtonNo:(NSInteger)button;
并称之为:
[delegate dropDownCellSelected:indexPath.row forButtonNo:tableView.tag];