故事板约束不影响自定义 UiView 大小

Posted

技术标签:

【中文标题】故事板约束不影响自定义 UiView 大小【英文标题】:Storyboard Constraints Don't Affect Custom UiView Size 【发布时间】:2016-08-08 23:03:11 【问题描述】:

我的应用程序的设计涉及大量带有圆角和阴影的正方形视图我不必在我的视图控制器中。我所做的只是创建一个 xib 文件和一个 swift 文件,然后在 swift 文件的 required init 函数中使用loadnibnamed(xib 文件的名称)并将其添加为子视图。在我的故事板中,我创建了一个带有设置约束的视图,并且该类是我的自定义 UIView 但是当我运行它时,它完全忽略了设置约束。有没有办法可以自动更改自定义 UIView 的大小以匹配设置的约束?

【问题讨论】:

我认为这里没有足够的细节来获得有用的答案。目前尚不清楚您正在使用哪些约束,它们适用于哪些视图,或者您遇到了哪些意外布局。 抱歉缺少细节,情节提要中视图的约束是 0 到 viewcontroller - 视图左右视图和 10 到高度为 50 的顶部布局。有了这些约束,它应该看起来像一个小矩形,但是当我试图在我的问题中解释时,所描述的视图以白色矩形存在,但是 xib 文件中的形状看起来与编辑器中的形状完全相同,而不是用设置的约束填充视图(对不起,我是新的ios开发,所以有点难以解释)。 不幸的是,我仍然感到困惑。听起来您在这里有两种观点;在故事板中定义的容器”视图,其类型是您创建的客户 UIView 子类,并且该容器的一些子视图(“阴影”视图?)从 xib 文件添加到它。我认为您的故事板有设置框架的约束的容器视图,但我不确定这些视图中的哪一个没有按照您的预期定位,或者它与您的预期有何不同。 我想要完成的只是一个可重复使用的卡片视图(如 android cardview),它会自动调整大小(请记住,这个卡片视图中没有视图,也就是 xib 文件)是,是带阴影的灰色背景 我想我了解您想要完成的工作,但对您尝试的解决方案是什么样的或遇到的问题知之甚少。我看不出我能在这里提供什么帮助。 【参考方案1】:

我找到了我在 init 中使用 view.frame = self.bounds 的解决方案,并且大小会根据情节提要中的约束自动调整。

【讨论】:

以上是关于故事板约束不影响自定义 UiView 大小的主要内容,如果未能解决你的问题,请参考以下文章

在自定义 UIView 类 Iphone 上应用自动布局约束。

故事板中的自定义 UIView

无法在故事板上移动自定义 UIView

故事板自定义类未实例化 UIView 类。为啥?目标 C / Xcode

以编程方式更改故事板上的 UIView 的大小

框架中的自定义 ui 组件未呈现到故事板