两个UIButton iOS的自定义下拉列表



我正在尝试实现一个自定义下拉菜单(在互联网上搜索代码),并将其用于两个UI按钮。按下按钮时,将显示一个表View。我为一个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];

最新更新