ios - 对不同的 ViewController 具有相同操作的自定义 UIButton 类

标签 ios swift uiviewcontroller uibutton

我见过很多在 ViewController 类和 Storyboard中以编程方式创建按钮的示例(之后使用 @IBAction)。

有没有一种方法可以为按钮创建自定义类并使其切换我的侧边菜单,而无需在每个 ViewController 中重写此操作。

现在我在 Storyboard 中需要的每个 VC 上创建此按钮并复制粘贴此代码:

@IBAction func openMenuClick() {
    sideMenuController?.toggle()
}

如何避免这种代码重复?

最佳答案

如果这个按钮在 Storyboard的每个 View Controller 中,那么我猜你需要在某个时候连接它。

我建议您创建一个 UIViewController 的子类,然后它是所有带有此按钮的 View Controller 的基类。您应该在基类中创建一个 socket ,然后在 Storyboard中为每个子类连接该 socket 。

然后只有基类具有您发布的此方法,并且在 View 中加载您需要手动将目标添加到此方法。我想如果基础 View Controller 将此方法作为 IBAction,您可以简单地将其连接到 Storyboard中。

关于ios - 对不同的 ViewController 具有相同操作的自定义 UIButton 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43998608/

相关文章:

ios - 如何在本地通知到达时更新数据库 BackgroundMode?

ios - 如何遍历字典,通过快速按下按钮加载下一个项目

ios - 使用kCFStringTransformMandarinLatin翻译中文,发现错误

ios - 覆盖 UIViewController 的 View 属性

ios - UITableView内部的UIRefreshControl导致应用程序卡住旋转-iOS 6+

iOS - 使用外观全局更改导航栏标题颜色?

ios - 在哪里设置我的 xcode 路径

ios - 即使在核心数据上下文保存后数据也不会持久化

ios - AVPlayerViewController 使用纯音频 AVPlayer

ios - 将父属性重新定义为 swift 中的子属性