【问题标题】:UIBarButtonItem created in Interface Builder not working - confused在 Interface Builder 中创建的 UIBarButtonItem 不起作用 - 困惑
【发布时间】:2012-11-08 17:05:17
【问题描述】:

我正在尝试通过在工具栏中整合各种内容来整理我的 UI,但我完全感到困惑。我正在使用 Interface Builder 而不是以编程方式构建控件,因为我的 UI 相当简单并且不是特别动态。

到目前为止我做了什么:

  1. 添加了一个空工具栏。
  2. 将两个先前存在且正在工作的按钮拖到工具栏上。他们从 UIButton 改变了他们的课程 到 UIBarButtonItem,检查器现在将它们显示为没有 Sent Actions 或引用 Outlet,但前一个 action & 视图控制器中的插座 - 响应点击,设置 按钮的标签 - 仍然有效。
  3. 直接创建了一个新按钮 在工具栏中。通过 ctrl-drag 在 正常的方式。检查器为此显示了 Action 和 Outlet 按钮已连接,这很好,但遗憾的是它们都不起作用。 单击按钮不会调用操作;设置标签 该按钮不会导致屏幕上发生任何事情,即使 在我尝试使用 setNeedsDisplay 刺激工具栏之后。

我不确定接下来要尝试什么。谷歌搜索告诉我,我不是唯一一个发现通过 Interface Bulder 使用 UIToolBar 困难和困惑的人,但我还没有找到解决我确切问题的方法。

我并不想仅仅为了整理几个按钮而以编程方式创建我的整个 GUI。在工具栏外的 Interface Builder 中创建所有控件,将它们连接起来并工作,然后将它们移动到工具栏中可能也可以工作 - 但这将是一个杂物,如果出现任何问题,我仍然不会更明智稍后。

【问题讨论】:

    标签: objective-c interface-builder uibarbuttonitem


    【解决方案1】:

    您是否应该尝试使用 UIBarButtonItem 而不是 UIButton?这个对我有用。

    【讨论】:

    • 啊,这么简单。谢谢你。由于我将现有按钮拖到工具栏中并且它们自动变成 UIBarButtonItems,我被甩到了正确的轨道上,所以我错误地认为这是这样做的方法。
    • 很高兴它有帮助。也感谢你让我知道 UIButton 不应该放在 UIToolbar 上
    【解决方案2】:

    我也有类似的问题。 您是否为根视图创建了额外的 UITapGestureRecognizer ? 也许像 > 当点击 UITextView 以外的其他地方时,所有 UITextViews 的 resignFirstResponder !

    在我的情况下,在 7.1 上,额外的 UITapGestureRecognizer 阻止了将事件传输到 UIToolBar 内的 UIBarButtonItem 的 IBAction。 IBAction 是通过 Ctrl+Drag 在 Storyboard 上制作的。 在 8.1 上它正在工作。不在 7.1 上

    阅读一些建议以创建额外的 UIView 并将所有视觉元素放入该额外的 UIView 中,但 UIToolBar 除外

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-18
      • 2012-08-15
      • 2010-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多