我已经创建了一个自定义的UIView类FormDropdown,其中包含一个问题&笔尖中的按钮。在类中也是一个NSArray属性,它应该存储按钮的各种选项。
因此可以通过执行此操作来放置按钮,例如viewDidLoad方法:
FormDropdown *dropdown = [FormDropdown dropdownWithQuestion:@"This is an example question" andLabel:@"Select one" andOptions:[NSArray arrayWithObjects:@"One", @"Two", @"Three", nil]];
[self.view addSubview:dropdown];
显然,我想按下按钮,当点击时,会显示带有选项的UIPickerView。但我坚持如何将选项发送到任何方法。我知道我可以像这样在按钮上附加一个动作:
[dropdown.dropdownButton addTarget:self action:@selector(dropdownPressed:) forControlEvents:UIControlEventTouchUpInside];
..但我看不出如何将dropdown.options数组中的选项传递给方法?
答案 0 :(得分:1)
我相信你可以通过从UIButton添加一个“关联引用”到你的对象数据来做到这一点。
答案 1 :(得分:0)
我正在寻找一种方法来做到这一点......但是,它似乎不可能。
我可能的解决方案:我想我要创建一个UIButton的子类,并为它添加一个“NSObject * tagObject”属性。
有人觉得有什么不妥吗? (我正在使用ARC,我想知道是否会导致对象留在内存中 - 我不这么认为。)