iphone - 使用 UIButton 按下传递对象数据

标签 iphone objective-c uiview ios uibutton

我创建了一个自定义 UIView 类 FormDropdown,它在 Nib 中包含一个问题和按钮。在类中还有一个 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。但我坚持如何将选项发送到任何方法。我知道我可以像这样将一个 Action 附加到按钮上:

[dropdown.dropdownButton addTarget:self action:@selector(dropdownPressed:) forControlEvents:UIControlEventTouchUpInside];

..但我看不出如何将选项从 dropdown.options 数组传递给方法?

最佳答案

我相信您可以通过从 UIButton 添加一个“关联引用”到您的对象数据来做到这一点。

http://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/ObjectiveC/Chapters/ocAssociativeReferences.html

关于iphone - 使用 UIButton 按下传递对象数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4123595/

相关文章:

iphone - UIScrollview 大内容尺寸

iphone - 如何在 iOS 上做晕影效果?

ios - 透明背景 UIView drawRect 圆形

ios - 从另一个类添加 View 作为 presentViewController 导致 UIEvents 不工作

iphone - UIView 呈现黑屏,修复了吗?

ios - 如何在 IOS 8 中使用自定义键盘进行文字转语音?

ios - 是否可以在一个 UiTableView 中有两个不同的 UiTableViewCell?

objective-c - Uncrustify:单行方法名称并删除双星号之间的空格

iOS: 'NSInvalidArgumentException',原因:'-[__NSCFString sortedArrayUsingFunction:context:]:发送到实例的无法识别的选择器。

ios - 无法更改 View 中绘制的圆的颜色