UIBarButtonItem 仅在我滑动时被调用

Posted

技术标签:

【中文标题】UIBarButtonItem 仅在我滑动时被调用【英文标题】:UIBarButtonItem getting called only when I swipe 【发布时间】:2012-11-29 11:50:23 【问题描述】:

我正在使用导航栏顶部的 BarButtonItem。我已经为 BarButtonItem 分配了一个 doneMethod。当我按下按钮时它没有被检测到,但是如果我尝试在 BarButtonItem 顶部进行一些滑动,它正在调用 doneMethod。这对我来说真的很奇怪。谁能告诉我为什么?

这是我的示例应用程序的屏幕截图。在 .h 文件中,我将方法编写为

- (IBAction) doneButtonPressed:(id)sender;

以及.m中的相应实现

- (IBAction) doneButtonPressed:(id)sender
   NSLog(@"Done Button Pressed");

【问题讨论】:

你能把你的代码贴在这里吗? 代码?好的,请稍等,我会更新问题 【参考方案1】:

您似乎在 Interface Builder 中连接了它,因此请确保您已使用“Touch Up Inside”事件。听起来您可能无意中使用了“Touch Drag Inside”。

【讨论】:

伊恩。我认为 BarButtonItem 没有选项。那些 Touch Down、Touch Up Inside 和 Touch Drag Inside 是为 UIButtons 设计的。我对吗 ?当您尝试将方法链接到按钮时,您可以很容易地发现这一点。如果您尝试将 IBAction 方法拖动到 UIBarButtonItem,它将直接与该项目链接。 啊,好点子。我想你是正确的。您是否在导航栏中添加了其他任何内容,例如手势识别器? 没有伊恩。我现在没有使用手势。如果它根本不起作用,我可以假设还有其他问题。但如果我喜欢在 barbuttonitem 上滑动,它就可以工作。这让我很生气。 我对西里尔并不感到惊讶。我想不出为什么会发生这种情况。 .h 或 .m 中有其他代码吗?看看会很有用。 实际上,如果我创建一个新的演示项目,这是可行的。而且它也在我的一个 ViewController 中工作,但是这种奇怪的行为只发生在这个 ViewController 中

以上是关于UIBarButtonItem 仅在我滑动时被调用的主要内容,如果未能解决你的问题,请参考以下文章

仅在执行任务时隐藏 UIBarButtonItem

为啥我的 TabBar 按钮在我第一次加载视图控制器时被禁用?

.Net Core 仅在上传文件时被 CORS 策略错误阻止

从左侧滑动 UIBarButtonItem

UIBarButtonItem 仅在按下足够长的时间时才会触发动作

仅在 FlatList 顶部时向下滑动模态