【问题标题】:How to properly create an overlay view in storyboard?如何在情节提要中正确创建覆盖视图?
【发布时间】:2017-12-17 11:32:44
【问题描述】:

我的目标是在单击按钮后在按钮下方创建一个弹出视图,这是概念:

我准备故事板的方式是使用两个不同的 UIViewController。主要的包含两个按钮,一旦单击,我会模态地将第二个 UIViewController 推到当前上下文中。

我的问题是:为了将“点击”图像移动到按钮正下方,创建约束的最佳或正确方法是什么?

【问题讨论】:

    标签: ios swift xcode uiviewcontroller


    【解决方案1】:

    我这样做的方法是在您的第一个故事板 vc 中添加一个子控制器。然后在storyboard中调整container view的frame,希望比通过程序调整frame更容易。

    然后确保在 Xcode 为您创建的 VC 之上更改类。

    【讨论】:

      【解决方案2】:

      当按钮被点击时,获取它的底部位置(它是框架中的 y + 高度)并将其发送到弹出窗口,然后将它们设置为弹出窗口中 imageView 的 top 约束viewDidLayoutSubview

      【讨论】:

        【解决方案3】:

        您可以使用按钮和view 的位置和尺寸来计算叠加层的位置。例如,叠加层的 y 可以是按钮的 frame.maxY + constant

        let x = ...
        let y = ...
        let width = ...
        let height = ...
        let overlay = UIView(frame: CGRect(x: x, y: y, width: width, height: height))
         view.addSubView(overlay)
        

        半透明黑色视图可以添加为UIView,与VC 的view 具有相同的框架,并限制为始终与VC 的view 的框架相同。先添加这个视图,然后再添加overlay

        【讨论】:

          猜你喜欢
          • 2012-10-25
          • 1970-01-01
          • 1970-01-01
          • 2014-01-30
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-12-11
          相关资源
          最近更新 更多