首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用RxSwift在UIBarButtonItem上强制点击?

如何使用RxSwift在UIBarButtonItem上强制点击?
EN

Stack Overflow用户
提问于 2018-08-13 18:30:19
回答 3查看 2.1K关注 0票数 1

这就是我设置UIBarButtonItem的方法

代码语言:javascript
复制
mainView.userBarButtonItem.rx.tap.bind { _ in
    self.router.presentUserController(from: self)
}.disposed(by: bag)

但是现在我需要做一些事情来调用这个闭包。多么?

EN

回答 3

Stack Overflow用户

发布于 2018-08-13 19:08:07

试试这个,会很好用的

代码语言:javascript
复制
    mainView.userBarButtonItem.rx.tap.subscribe(onNext: { [unowned self] in
        self.router.presentUserController(from: self)
    }).disposed(by: disposeBag)

谢谢

票数 1
EN

Stack Overflow用户

发布于 2018-08-13 23:02:31

您可以通过执行以下操作来模拟单击:

代码语言:javascript
复制
if let target = mainView.userBarButtonItem.target, let action = mainView.userBarButtonItem.action {
  _ = target.perform(action, with: mainView.userBarButtonItem)
}

将在订阅tap序列后工作。

然而,我真的不明白为什么你需要这样做。我希望这不是为了单元测试...

票数 1
EN

Stack Overflow用户

发布于 2018-08-14 03:19:38

您可以这样做:

代码语言:javascript
复制
UIApplication.shared.sendAction(barButtonItem.action!, to: barButtonItem.target, from: self, for: nil)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51820262

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档