Ios 带容器的自动布局
使用自动布局,我希望色彩鲜艳的Ios 带容器的自动布局,ios,objective-c,swift,uiviewcontroller,containers,Ios,Objective C,Swift,Uiviewcontroller,Containers,使用自动布局,我希望色彩鲜艳的UIViewControllers负责它们自己的高度,尽管容纳它们的容器的约束在主UIViewControllers中。也许这可以通过使用协议和委托来实现?有什么想法吗 为了封装起见,彩色的UIViewControllers不应暴露于主UIViewController 大概是这样的: func updateMyHight() { self.containerHoldingMe.heightConstraint.constant = 100 } 我要做
UIViewControllers
负责它们自己的高度,尽管容纳它们的容器的约束在主UIViewControllers
中。也许这可以通过使用协议和委托来实现?有什么想法吗
- 为了封装起见,彩色的
不应暴露于主UIViewControllers
UIViewController
func updateMyHight()
{
self.containerHoldingMe.heightConstraint.constant = 100
}
我要做的是:
prepareforsgue
方法子类UIView和override
intrinsicContentSize
。如果你玩对了牌,你会给你的子类一个属性,你的intrinsicContentSize
会参考这个属性。现在,就自动布局而言,视图正在设置自己的高度
如果您还希望它们间隔均匀,请使用iOS 9的新UIStackView来分布它们。它遵循其排列视图的固有内容大小。由于堆栈视图可以在nib中配置,因此整个练习基本上由一行代码组成。请在附件中找到答案 1。代码和界面生成器 2。结果
你能再详细说明一下吗?当然可以。您希望我在哪里详细说明?这不是视图控制器的好用途。@matt,否则您将如何实现它?我甚至想说,您的界面可能过于复杂了。您不需要这么多控制器,所有控制器都具有独立的高度等。为什么不为单元提供UITableView和viewModels?然后系统将为您计算高度?当您有无数彩色控制器时,这个答案就不太好了。如果从主控制器控制每个彩色控制器的大小,则会丢失看起来很有希望的包装。你能不能给你发个代码,以便快速复制粘贴?或者将其上传到某个地方?如果您使用容器的常规序列,则无法工作:-/