如何在故事板中正确创建叠加视图?

时间:2017-12-17 11:32:45

标签: ios swift xcode uiviewcontroller

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

enter image description here

我准备故事板的方法是使用两个不同的UIViewController。主要包含两个按钮,一旦点击,我模拟推送第二个UIViewController在当前上下文。

enter image description here

我的问题是:什么是创建约束的最佳或正确方法,以便移动" Tapped"按钮下方的图像?

3 个答案:

答案 0 :(得分:0)

单击按钮时,获取它的底部位置(它在帧中+ sy的高度)并将其发送到弹出窗口,然后将它们设置为imageView的顶部约束在 viewDidLayoutSubview

中的弹出窗口中

答案 1 :(得分:0)

您可以使用按钮和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之前,先添加此视图。

答案 2 :(得分:0)

我这样做的方法是在你的第一个故事板vc中添加一个childcontroller。然后在故事板中调整容器视图的框架,我希望这比编程调整框架更容易。

然后一定要更改Xcode为您创建的VC顶部的类。 enter image description here