【问题标题】:UIButton on left side of screen (in iOS 7 navigation slide area) not highlighted屏幕左侧的 UIButton(在 iOS 7 导航滑动区域中)未突出显示
【发布时间】:2014-02-24 19:13:53
【问题描述】:

我在视图控制器(在 XIB 上)的最左侧有一个 UIButton,宽度为 100 磅。

如果视图控制器位于常规选项卡上(即未推送到导航堆栈上),则点击时按钮会按预期突出显示。

但是,当视图控制器位于更多选项卡上(因此被推到导航堆栈上)时,在左侧点击按钮时(比如最左边的 50 个点),按钮不会突出显示。该按钮确实起作用,正在调用它的动作。但是,当点击右侧时,它会突出显示。 (顺便说一句,我认为这是从任何其他视图控制器推送视图控制器时的普遍问题;可能不必是更多选项卡。)

经过一番研究,事实证明,当我点击左侧屏幕区域时,您可以使用 iOS-7 滑回父视图。任何想法为什么会这样,以及如何使按钮再次正常工作。

感谢您的宝贵时间!

【问题讨论】:

  • 我可以轻松地在无代码应用程序中重现这一点,因此您根本不需要所有“突出显示”和“drawRect”的东西。 - 我现在正在调查它是否只是一个模拟器错误。你在设备上试过吗?
  • @matt 我一直在使用该设备,所以是的。 iOS 7.0.6。谢谢大佬!
  • 也在设备上确认。看起来你有自己的系统错误。我建议你举报。
  • @matt 是从常规视图控制器还是从更多?
  • 常规视图控制器,推送到导航堆栈上。正如您所说,左侧的可拖动区域似乎是干扰。它会干扰突出显示,但不会干扰点击。

标签: ios objective-c uiview uiviewcontroller uibutton


【解决方案1】:

我几乎不需要任何代码就可以确认这个错误。您只需要一个图像文件作为背景图像。在情节提要中进行设置:

Navigation Controller -> (root view controller) ViewController -> Button -> push segue... ->
ViewController2 -> Button

将第二个按钮放在其包含视图(ViewController2 的视图)的左侧,并将图像文件设置为其突出显示背景图像。

现在运行应用程序并点击第一个按钮,以召唤第二个视图控制器的视图。点击右侧的按钮:突出显示的背景图像出现。现在点击左侧的按钮:高亮背景图像不会出现,但按钮实际上正在接收点击(您可以通过为其提供记录的操作方法来确认)。

所以,我会说你自己发现了一个合法的错误,你应该向 Apple 报告。我一定会的!

【讨论】:

  • 我刚刚将它报告为错误。再次感谢!
  • 我也举报了:16152959
  • 另一个提高优先级的16865347
【解决方案2】:

除非您需要 iOS 7 滑动弹出手势,否则您可以通过禁用该手势识别器来修复此错误:

self.navigationController.interactivePopGestureRecognizer.enabled = NO;

【讨论】:

  • Apple 仍未修复此错误,但这对我有用,谢谢!
  • 很遗憾,这在 iOS 12.2、Xcode 10.3 中不起作用。
猜你喜欢
  • 1970-01-01
  • 2021-01-10
  • 2014-09-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-19
  • 1970-01-01
相关资源
最近更新 更多