UIView Swift和Xcode中的动态高度
在Xcode 7.3中,我有以下自动布局设置: 单击该按钮时,我使用UIView Swift和Xcode中的动态高度,xcode,uiview,autolayout,Xcode,Uiview,Autolayout,在Xcode 7.3中,我有以下自动布局设置: 单击该按钮时,我使用addSubview()将UILabel添加到红色UIView。我试图实现的是,当组合标签的大小超过红色UIView时,自动调整红色UIView和绿色UIView的大小 我曾尝试计算所有标签的大小,然后在didLayoutSubView()中设置红色视图的frame.size.height,这有点奏效,但在基于红色UIView的绿色UIView中也遇到了同样的问题。当嵌套大量UIView时,它也变得非常麻烦。一定有更好的方法来
addSubview()
将UILabel添加到红色UIView。我试图实现的是,当组合标签的大小超过红色UIView时,自动调整红色UIView和绿色UIView的大小
我曾尝试计算所有标签的大小,然后在didLayoutSubView()
中设置红色视图的frame.size.height
,这有点奏效,但在基于红色UIView的绿色UIView中也遇到了同样的问题。当嵌套大量UIView时,它也变得非常麻烦。一定有更好的方法来实现这一点?(没有视图)
我还玩了不同的自动布局设置没有运气。如果还可以将其添加到UIScrollView中,并使其内容大小也可以自行调整,则会有额外的好处
所有这些似乎都应该是一件小事,所以我想我忽略了一些小而简单的事情。非常感谢您提供有关如何使用Swift和/或Interface Builder完成此任务的任何指导。在这种情况下,您可以使用UITableView 1) 在UITableViewCell中添加UILabel 2) 将前导、尾随、顶部和底部约束设置为UILabel的w.r.t.内容视图 3) 将UILabel的行数设置为0 4) 最后,在viewDidLoad()中使用以下代码行:
tableView.estimatedRowHeight = 44
tableView.rowHeight = UITableViewAutomaticDimension
使用addSubview()时
如果您只打算使用iOS9用户,则必须使用iOS9 API中引入的UIStackView。这对我来说非常有意义,我将在周末试一试,看看效果如何。非常感谢。