OStack程序员社区-中国程序员成长平台

标题: ios - 将等宽乘数添加到没有 super View 的.xib 组件? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 04:36
标题: ios - 将等宽乘数添加到没有 super View 的.xib 组件?

为了澄清这个问题,我需要解决以下几个方面

  1. 我正在关注这篇文章来创建可重复使用的按钮组件,它本质上只是一个启用了标签和用户操作的 ImageView ,它基于 .xib and cocoa class files
  2. 我也在关注这个auto layout practice根据屏幕宽度调整我的一些元素的大小

问题

我希望我的按钮组件是屏幕宽度的 0.4,问题是它没有我可以调整大小的 super View ,即当我将它包含到某些 View Controller 中时它只有一个。由于这个选项,自动布局中的“等宽”对我来说是禁用的。作为一种解决方法,我可以在将其包含到某个 View 中后调整其大小,但这会损害组件的可重用性,我宁愿它默认占用其 super View 的 0.4 等宽。

关于如何实现这一点的任何建议?



Best Answer-推荐答案


您可以使用 UIView method didMoveToSuperview() 获取 super View 。每当 super View 更改时都会调用它。 例如:

override func didMoveToSuperview() {
    super.didMoveToSuperview()
    guard let currentSuperview = self.superview else { return }
}

然后您可以通过编程方式设置宽度约束,因为您有一个与之相关的 super View 。

关于ios - 将等宽乘数添加到没有 super View 的.xib 组件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52134382/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4