我正在构建一个名为MyUIView的自定义IBDesignable UIView,它将从.xib文件中实例化。 MyUIView旨在在我的应用程序中重用。
我遇到的问题是,当我在故事板中的UIViewController中创建MyUIView视图时,autolayout要求我为视图的宽度和高度提供约束。 MyUIView具有可变高度,我希望视图可以包裹渲染的MyUIView的宽度和高度,而无需在storyboard中指定视图的大小。
我如何实现这一目标?
谢谢!
答案 0 :(得分:0)
在视图类中覆盖intrinsicContentSize
。除非您使用显式约束另行指定,否则autolayout引擎将使用此大小进行查看。
请注意,只要内部大小发生变化,您就必须在视图上调用invalidateIntrinsicContentSize()
。