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

时间:2013-11-24 00:49:47

标签: ios delegates

我正在尝试实现自定义下拉菜单(通过互联网搜索代码)并将其用于两个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];
}

如何知道按下哪个按钮。 我刚刚开始学习并与代表们一起努力,请帮助。

1 个答案:

答案 0 :(得分:1)

最简单的解决方案是使用tableView.tag属性,如果按钮1或2触发其外观,则将其设置为1或2。 然后将协议修改为:

-(void)dropDownCellSelected:(NSInteger)returnIndex forButtonNo:(NSInteger)button;

并称之为:

[delegate dropDownCellSelected:indexPath.row forButtonNo:tableView.tag];