【发布时间】:2011-04-25 09:12:34
【问题描述】:
我在 nib 上放置了 1 个 UIButton,当用户单击此按钮时,IBAction 方法会使用 Status 参数连接到它。
我想要的是,用户单击按钮并将状态传递给 IBAction 方法,在该方法中,我需要访问按钮的实例。
如何在此处获取没有 (id) 发送者的按钮实例?
【问题讨论】:
标签: iphone objective-c uibutton
我在 nib 上放置了 1 个 UIButton,当用户单击此按钮时,IBAction 方法会使用 Status 参数连接到它。
我想要的是,用户单击按钮并将状态传递给 IBAction 方法,在该方法中,我需要访问按钮的实例。
如何在此处获取没有 (id) 发送者的按钮实例?
【问题讨论】:
标签: iphone objective-c uibutton
您可以像使用 IBAction 一样将 UIButton 与插座连接起来。
在你的标题中添加:
UIButton *myButton;
...
@property (nonatomic, retain) IBOutlet UIButton *myButton;
然后将新插座与您在 IB 中的按钮链接。
然后您可以在您的实例中使用 myButton 访问按钮。
【讨论】:
- (IBAction)buttonPress:(id)sender
{
UIButton *button = (UIButton *)sender;
// button is the instance of your button
}
【讨论】:
为什么没有(id) sender?无论如何,你是什么意思? action 方法的sender 参数是对按钮实例的引用。您所要做的就是将其转换为正确的类型:
UIButton *button = (UIButton *)sender;
【讨论】:
为 UIButton 创建一个 IBOutlet 变量并通过 nib 连接
【讨论】: