【发布时间】:2013-04-15 22:28:19
【问题描述】:
我有 PhotoView 类(UIButton 的子类),我希望当我按下属于 PhotoView 类的任何按钮时,应该触发相同的操作。
我尝试了类似的方法:
- (void)didSelectButton:(PhotoView *)sender
{
// do something
}
【问题讨论】:
标签: objective-c methods uibutton
我有 PhotoView 类(UIButton 的子类),我希望当我按下属于 PhotoView 类的任何按钮时,应该触发相同的操作。
我尝试了类似的方法:
- (void)didSelectButton:(PhotoView *)sender
{
// do something
}
【问题讨论】:
标签: objective-c methods uibutton
在视图控制器的 viewDidLoad 方法中,您可以迭代视图子视图(以及它们自己的子视图,递归样式),以便找到 PhotoView 类的实例并在这些实例上使用 addTarget。
【讨论】:
在您的PhotoView init... 方法中,将self 设置为自己的目标:
[self addTarget:self selector:@selector(didSelectButton:) forControlEvents: UIControlEventTouchUpInside];
请注意,这是一个糟糕的设计。您的 PhotoView 应该是包含 UIButton 的 UIView。
【讨论】: