【问题标题】:Bar Button Item : IBAction not fired in View COntroller条形按钮项目: IBAction 未在 View COntroller 中触发
【发布时间】:2014-01-24 23:46:19
【问题描述】:

在拆分视图控制器的详细视图控制器的底部,我在情节提要中添加了一个工具栏。我在此工具栏中添加了三个条形按钮项。每个 Bar Button Item 都在 Details View Controller 的私有接口中挂钩到其 IBOutlet,并且还挂钩到同一控制器中的 IBAction 实现,例如:- (IBAction)shouldPresentView:(UIBarButtonItem *)sender

主视图包含:

  • Web 视图。
  • 屏幕底部、webview 下方的一个小矩形视图,以编程方式创建和添加,包含各种按钮。所有按钮都可以正常使用。

当触摸任何条形按钮项时,该按钮会临时突出显示,但不会触发任何 IBAction 方法(从不执行每个方法中的 NSLog() 语句)。

在搜索和阅读同等主题后,我经历了几个解决方案:

  • 我在 Details View Controller 的 View Did Load 方法中手动添加了 Details View Controller 作为 Toolbar 的委托。
  • 我清空了产品派生数据的缓存。
  • 我检查了每个 IBOutlet 都有一个地址并且不是 nil。
  • 我尝试在 View Did Load 方法中为每个 Bar Button Item 手动添加操作 SEL。
  • 我删除了矩形底视图,以确保它不会干扰响应者链。
  • 我在导航栏中添加了条形按钮项以检查是否出现相同的问题:不,条形按钮项触发 IBAction 方法。

任何帮助将不胜感激。


在 Xcode 5.0.2 中使用 iOS 7 SDK 开发

【问题讨论】:

  • 感谢@phbardon 提供了一个经过彻底研究的问题,然后转回来发布您自己的答案。剩下的就是将您的答案标记为正确。

标签: objective-c uibarbuttonitem ibaction


【解决方案1】:

问题来自我添加到主视图以收集 Web 视图上的触摸的点击手势。因此,在到达 UIButtonBarItem 之前,主视图可能会在某处捕获 Bar Button Items 上的触摸。我将 Tap Gesture 的目标更改为 web 视图 - 更合乎逻辑 - 问题已解决。

【讨论】:

  • 那是我的问题 - 我在视图上有一个点击手势,它正在阻止按钮工作。奇怪的。谢谢!
猜你喜欢
  • 1970-01-01
  • 2016-05-18
  • 2016-11-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-26
相关资源
最近更新 更多