ios - 使用自动布局约束实现百分比重叠

标签 ios ios-autolayout

假设 View1 和 View2 是两个大小相同的矩形。通过自动布局,我可以设置 View1.Center X = View2.Leading 以使 View1 和 View2 在 X 方向上重叠一半。现在我需要这个重叠是一个不同的百分比,比如说重叠 1:3 或任何其他分数。如何使用自动布局约束来实现这一点?

最佳答案

它不像设置 view2 到 view1 的中心 X 那样简单,但你可以通过调整 constant 来做到这一点。运行时前导约束的属性,最好在 width 的确切位置view1 已设置。

先做view2.leading == view1.trailing :

leadingConstraint = NSLayoutConstraint(item: view2, attribute: .Leading, relatedBy: .Equal, toItem: view1, attribute: .Trailing, multiplier: 1.0, constant: 0.0)

然后,根据您定义 View 的位置(在 View 或 View Controller 中),您可以在所有 View 布局后立即更新相关约束的常量:
override func viewDidLayoutSubviews() {
  super.viewDidLayoutSubviews()
  leadingConstraint.constant = -(view1.frame.width / 3.0)
}

enter image description here

您可以下载the sample project我为您创建并使用它以更好地理解它。

关于ios - 使用自动布局约束实现百分比重叠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37121969/

相关文章:

ios - UIImage 保存到文档目录,内存占用低

ios-autolayout - 如果标签没有任何字符串,则标签会随着自动布局而消失

ios - 如何集成ELCImagePickerController?

ios - 将表格 View 单元格中的颜色 slider 设置为单元格的全长

objective-c - 在 Objective C 中创建私有(private) setter 的警告

ios - 使用自动布局设置两个 uiview 的动态相等高度取决于它们的 subview ?

ios - 在 iPad 中部署应用程序时按钮不可见

ios - 自动布局并排内容

ios - UITableView 动态单元格高度仅在滚动后才正确

iOS:矢量图形/图像