我有一个问题,如何在UIView()中实现自定义返回导航按钮的创建。我有一个包含collectionView的主控制器,单击任何单元格都会转到包含tableView的第二个控制器。我在tableView标题中创建了一个单独的自定义视图,在其中添加了标签、图片和按钮。我需要在自定义视图中单击backButton时,它会转到主控制器。如何实施?我制作的应用程序只编程-(没有故事板)
CustomView.swift
lazy var backButton: UIButton = {
let button = UIButton(type: .system)
let image = UIImage(systemName: "chevron.left")
button.setImage(image, for: UIControl.State())
button.tintColor = .white
button.isHidden = true
button.addTarget(self, action: #selector(goToBack), for: .touchUpInside)
button.translatesAutoresizingMaskIntoConstraints = false
return button
}()
@objc func goToBack() {
}
2条答案
按热度按时间sg2wtvxw1#
首先在
CustomView
中添加一个回调函数。然后从goToBack()
方法调用这个callback
闭包。在初始化
CustomView
的UIViewController
中,给予闭包的动作。xqnpmsa82#
您需要为此创建一个委托。在CustomView中创建一个属性weak var delegate:按钮委托
保存CustomView的ViewController必须实现该协议,并在实现的onTap()方法中执行navigationController.popViewController()。
呼叫委派?.onTap()在CustomView goToBack()方法中。