【问题标题】:How to set delegate for subclass如何为子类设置委托
【发布时间】:2012-09-02 11:46:06
【问题描述】:

我正在编写自己的开关类。我想向它添加一个委托 - 例如,如果我们有 UIImagePickerController 我们将 UIImagePickerControllerDelegate 添加到一些视图控制器的@interface ,我们可以设置诸如 imagePickerControllerDidCancel:(UIImagePickerController *)picker 之类的方法...

我想为我的班级做类似的事情 - 它被命名为 HSwitch,所以我想将 HSwitchDelegate 添加到某个视图控制器的@interface。

我想向这个委托添加一个方法 valueWasChanged,我可以在 viewController 中设置它,并且每次滑块更改值时都会调用它。

我该怎么做?我还没有这样做,所以...请帮助我:) 谢谢!

【问题讨论】:

  • 也许是@interface MyViewController: UIViewController <HSwitchDelegate>?
  • 你在问:如何写一个委托?如果是,您可能会发现这个答案很有用:stackoverflow.com/questions/626898/…

标签: objective-c xcode cocoa-touch delegates


【解决方案1】:

如果你的类是一个开关,大概它继承自 UIControl。如果是这种情况,请不要引入委托的复杂性 - 改用 target-action,并像使用任何其他控件一样发送操作/注册目标。有关详细信息,请参阅UIControl class referenceUIControlEventValueChanged 将是适合您需求的活动。

【讨论】:

  • 哦,真的,谢谢!所以我的想法现在看起来真的很奇怪:P 我只是没想到要研究 UIControl 参考。我用 [self sendActionsForControlEvents:UIControlEventValueChanged]; 管理它
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-19
  • 1970-01-01
  • 1970-01-01
  • 2019-12-18
  • 1970-01-01
相关资源
最近更新 更多