【问题标题】:Swift - UIButton as overlay on UIScrollViewSwift - UIButton 作为 UIScrollView 上的叠加层
【发布时间】:2022-01-09 09:41:57
【问题描述】:

我有一个滚动视图,其中包含不同的 ui 组件,例如文本字段、标签等。 滚动视图几乎占据了整个屏幕的大小。逻辑分离,我想添加/显示一个不属于滚动视图内容的按钮。

这导致我的按钮对我的触摸没有反应的问题。以防万一,我减小了滚动视图的大小,以便框架不会干扰按钮中的框架,一切都按预期工作。

我尝试将按钮放在前面 (view.bringSubviewToFront(infoButton)),但它仍然不起作用。

【问题讨论】:

  • 对此有何提示?

标签: swift button scrollview uigesturerecognizer subview


【解决方案1】:

我认为您想要实现类似“Gmail 应用程序,加号按钮浮动在屏幕右下角”之类的东西。 将您的滚动视图添加到视图并将其他元素添加到滚动视图:

view.addSubview(yourScrollView)
yourScrollView.addSubview(yourButton)
yourScrollView.addSubview(yourLabel)

添加完 scrollView 的子视图后,是时候将按钮添加到 -> 视图(不是滚动视图) 一切都应该按您的预期正常工作

【讨论】:

  • 嘿@soroush araste。这没有帮助。如果你把按钮作为子视图放到滚动视图中,它不会有固定的位置。
  • 嘿,重读我的解释。这都是关于添加子视图的命令。顺便说一句,我很高兴听到您的问题已得到解决
  • 嗨@sorush araste,是的,订单很重要。但是,在您的示例中,您将按钮作为子视图放到滚动视图中。相反,该按钮需要放置在主视图上。如您所述,我首先尝试将其放入滚动视图中,但在这种情况下,按钮不在固定位置。你需要把它放到主视图中。
  • 也许你是对的,代码部分不够清晰,我试图在这一部分中明确表示“在你完成添加 scrollView 的子视图之后,是时候将你的按钮添加到 -> 视图(不是滚动视图) 一切都应该如您所愿"
【解决方案2】:

问题解决了!

这是您如何将子视图添加到主视图的问题。在我的例子中,我首先将信息按钮添加到主视图,然后将滚动视图添加到主视图。

您需要更改订单。首先将滚动视图添加到主视图,然后添加按钮。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多