iphone - 制作自定义类的按钮触发父类

标签 iphone objective-c ios uiviewcontroller

我有一个 UIViewController称为“MainViewController”,它使用自定义类“CustomController”来控制其中一个 subview 。自定义类实例化 UIButton s 在代码中。如何让这些按钮触发 MainViewController 中的方法?

最佳答案

我认为代表团是去那里的方式。

  • 定义协议(protocol)CustomControllerDelegate里面 CustomController.h使用这样的方法,例如:
    - (void) customControllerButtonPressed(id)sender; // BTW: you can use `CustomController` instead of `id` if you make a forward declaration for this class
    
  • 添加一个委托(delegate)属性并在.m中合成它文件
    @property (assign) id<CustomControllerDelgate> delegate;
    
  • 现在,当您按下按钮时,您只需调用委托(delegate):
    [self.delegate customControllerButtonPressed:self];
    
  • 在您的 MainViewController您使其符合指定的协议(protocol)并像这样设置 CustomControllers 委托(delegate):
    CustomViewController *customVC = [[CustomViewController alloc] init];
    customVC.delegate = self;
    
  • 现在按下按钮时,MainViewController的指定方法的实现被调用。
  • 关于iphone - 制作自定义类的按钮触发父类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9354517/

    相关文章:

    ios - 文字转语音不起作用?

    objective-c - 在 map 上绘制时减少多边形

    ios - 检测使用变换的图层是否包含触摸点

    iphone - 如何添加 UITableView setEditing 提供的插入和删除按钮?

    iphone - 如何向 UITableView 添加页脚?

    iphone - UIWebView 周围的透明度

    iphone - 当我返回我的应用程序而不检查状态栏框架时,我如何知道电话何时在通话中?

    objective-c - hasBytesAvailable 提前完成

    ios - 刷新 token 如何在 OAuth 流程中工作?

    ios - 在同一引用下将图像保存在 firebase 上是否会删除旧图像?