【问题标题】:UIButtons not working in Scroll ViewUIButtons 在滚动视图中不起作用
【发布时间】:2015-07-22 06:36:13
【问题描述】:

我有一个Scroll View,里面有一个视图(内容视图)。我添加了两个按钮进行测试。 Scroll View 滚动良好,但内容视图中的按钮不可点击。我看到很多帖子说当他们以编程方式将UIButtons 添加到视图时会发生此问题,但我没有这样做。这是我的确切过程:

  1. 将滚动视图拖到主视图上。添加 4 个约束
  2. 将内容视图拖到滚动视图上。添加 4 个约束。
  3. 向内容视图添加 2 个按钮(一高一低用于测试滚动)。

这就是我所做的一切,此时没有代码。还有什么我必须做的才能让按钮被点击吗?这是我的 xib 的屏幕截图:

更新:

当将按钮连接到一个简单的 IBAction 并记录一条消息时,事实证明它正在被按下并正常工作。然而,当按钮被按下时,按钮并没有像它应该的那样改变颜色(它的“按下”状态没有出现)。任何想法为什么?

【问题讨论】:

  • 你有连接到 IBActions 的按钮吗?
  • @BenKane 似乎当我将它连接到 IBAction 时它确实调用了该函数,但是按钮似乎没有被按下(它不会像我的应用程序中的其他按钮那样改变颜色) 这有什么原因吗?将使用此信息更新 OP
  • 检查按钮类型是否为系统
  • @ChikabuZ 是系统
  • 如果我点击并按住,它会改变状态,但如果我经常点击则不会

标签: ios objective-c uibutton scrollview


【解决方案1】:

UIScrollView 首先需要知道您是否要滚动,然后才能将触摸传递给它的子视图。如果您希望子视图立即获得触摸,请将 UIScrollView 的 delaysContentTouches 设置为 NO

【讨论】:

    【解决方案2】:
    • 首先将按钮设为自定义类型
    • 从情节提要中选择按钮,然后在 右属性检查器上将其“状态配置”更改为您需要的任何内容,例如 突出显示、选中、禁用和默认设置并为每个选项选择颜色状态。
    • 现在您可以看到该按钮上的颜色变化。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-07-09
      • 1970-01-01
      • 2014-02-06
      • 1970-01-01
      相关资源
      最近更新 更多