我如何创建像UIAlertController一样的可重用视图控制器(我们称之为“reusableVC”)。 ReusableVC具有“确定”按钮,该按钮的作用取决于resuableVC的调用位置。我了解代表和NotificationCenter。只是想知道我们能否在创建reusableVC时传递“ok”按钮应该执行的操作,如下所示:

reusableVC.addAction(UIAlertAction(title: "", style: .default, handler: { (action) in
   // some code
}))

最佳答案

如果只需要一个OK按钮,则可以使用此解决方案,否则,您仍然会对这种模式感兴趣。

class ReusableVC{
    var onOKPressed: ( () -> () )?

    // Create all your other things and don't forget that you should call onOKPressed() whenever user pushed that OK button
}

class ViewController{

    func setupReusableVC(){

        let reusableVC = ReusableVC()
        reusableVC.onOKPressed = {
            print("ok pressed")
        }
    }
}

关于ios - 如何从另一个 View Controller 设置按钮的 Action ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53610906/

10-12 07:32