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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在故事板中正确创建叠加视图?相关的知识,希望对你有一定的参考价值。

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

enter image description here

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

enter image description here

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

答案

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

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

另一答案

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

另一答案

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

以上是关于如何在故事板中正确创建叠加视图?的主要内容,如果未能解决你的问题,请参考以下文章

如何处理 Xcode 故事板中的错位视图警告?

uiview故事板中的viewcontroller多个

故事板中的自定义 UIView 不显示子视图

如何使用故事板中定义的单元格计算集合视图单元格高度?

故事板中的PresentModalViewController以编程方式iOS 5

使用故事板中的自动布局使 UIButtons 居中