我试图实现一个自定义的下拉菜单(通过互联网搜索代码),并将其用于两个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];
}
如何知道按下了哪个按钮。
我刚刚开始学习与代表们的斗争,请帮助。
最佳答案
最简单的解决方案是使用tableView.tag属性,如果按钮1或2触发了它的出现,则将其设置为1或2。
然后将您的协议修改为:
-(void)dropDownCellSelected:(NSInteger)returnIndex forButtonNo:(NSInteger)button;
并这样称呼它:
[delegate dropDownCellSelected:indexPath.row forButtonNo:tableView.tag];
关于ios - 两个UIButton iOS的自定义下拉菜单,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20169799/