我的目的是在点击按钮下方创建一个弹出视图,这是概念:
我准备故事板的方式是使用两个不同的UIViewController。主要包含两个按钮,一旦点击,我模拟推送第二个UIViewController在当前上下文。
我的问题是:为了将“Tapped”图像移动到按钮下方,创建约束的最佳或正确方法是什么?
单击按钮时,获取它的底部位置(它在帧+高度为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
之前,首先添加此视图。