注册UIView子类的事件的最佳方法是什么,以便我可以将它们连接到界面构建器中的IBAction-s?
目前我刚刚将一个标准的UIView放到我的主视图上,并将该类设置为"RadioDial"(我的自定义类).这显示视图很好,但我不知道如何从中获取事件.
谢谢
请澄清:你的意思是你想Interface Builder中提供您的视图控制器要连接您的视图子类会发光的自定义事件(很像Button控件允许您要连接触摸到内等)?
如果您需要此类功能,则需要在View上使用通用的"委托"属性并结合协议.
@protocol RadioDialDelegate
-(void)dialValueChanged:(id)sender
@end
@interface RadioDial
{
id<RadioDialDelegate> radioDelegate;
}
@property (nonatomic, assign) IBOutlet id<RadioDialDelegate> radioDelegate;
Run Code Online (Sandbox Code Playgroud)
这将允许控制器连接到视图(假设它实现RadioDialDelegate)并接收从视图中出来的任何事件.或者,您可以使用无类型委托,并在View代码中使用后期绑定调用:
if([radioDelegate respondsToSelector:@selector(dialValueChanged:)]) {
[radioDelegate dialValueChanged:self];
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6663 次 |
| 最近记录: |