2

私はそのようなケースを扱っており、ここで RxSwift を適用することを考えています。

.xibボタン付きのUIViewがあります。

class RightButtonItemView: UIView {

    @IBOutlet weak var rightButtonimageView: UIImageView!
    @IBOutlet weak var rightButtonButton: UIButton!

    let performEventSegue = PublishSubject<Bool>()

    class func instanceFromNib() -> RightButtonItemView {
        return UINib(nibName: "NotificationView", bundle: nil).instantiate(withOwner: nil, options: nil)[0] as!  RightButtonItemView
    }

    override func awakeFromNib() {
       //I'm not sure how should I link button tap and my subject 
       rightButtonButton.rx.tap
    }
}

viewController でこのビューのインスタンスを作成します

var rightButtonItemView = RightButtonItemView.instanceFromNib()

セグエからこのボタンをクリックすると、次の VC に移動する必要があるため、UIView のサブジェクトにサブスクライブします

rightButtonItemView.performEventSegue.asObserver().subscribe(onNext: { (isAuthorized) in

        if isAuthorized {
            let storyboard = UIStoryboard(name: "Notifications", bundle: nil)
            let viewController = storyboard.instantiateViewController(withIdentifier: "UserNotificationsViewController")
            self.present(viewController, animated: true, completion: nil)
        }
    })

しかし、ボタンのタップを公開サブジェクトの状態の変更にリンクするにはどうすればよいですか?

4

1 に答える 1