【发布时间】:2017-12-17 11:32:44
【问题描述】:
我的目标是在单击按钮后在按钮下方创建一个弹出视图,这是概念:
我准备故事板的方式是使用两个不同的 UIViewController。主要的包含两个按钮,一旦单击,我会模态地将第二个 UIViewController 推到当前上下文中。
我的问题是:为了将“点击”图像移动到按钮正下方,创建约束的最佳或正确方法是什么?
【问题讨论】:
标签: ios swift xcode uiviewcontroller
我的目标是在单击按钮后在按钮下方创建一个弹出视图,这是概念:
我准备故事板的方式是使用两个不同的 UIViewController。主要的包含两个按钮,一旦单击,我会模态地将第二个 UIViewController 推到当前上下文中。
我的问题是:为了将“点击”图像移动到按钮正下方,创建约束的最佳或正确方法是什么?
【问题讨论】:
标签: ios swift xcode uiviewcontroller
当按钮被点击时,获取它的底部位置(它是框架中的 y + 高度)并将其发送到弹出窗口,然后将它们设置为弹出窗口中 imageView 的 top 约束viewDidLayoutSubview
【讨论】:
您可以使用按钮和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。
【讨论】: