我有3个标签与子弹点,是横向放置。我想给子弹点定制设计,所以我认为我应该使用他们作为UIImage。让我来说明一下:
o PHP o Swift o Java每个标签和指定的点之间都有固定的距离。标签也将有一个固定的距离下一个标签的子弹点(如PHP的子弹点)。
最后,我想把它水平地集中到视图上。
如果我有标签的静态文本的话,上面的场景就可以了。但是,我想使用动态文本。
我想的解决方案是创建3个容器视图。所以我会:
View
ContainerView1 ContainerView2 ContainerView3
|------------| |--------------| |--------------|
| o PHP | | o Swift | | o C |
|------------| |--------------| |--------------|但是,对于动态/更改的文本大小,它看起来并不一致。我将使用sizeToFit使文本适合,但是容器视图已经创建了新的独立的ViewController,因此我不确定是否可以使容器视图的宽度自动调整到“符号点+动态标签的宽度”。
Parent ContainerView (or UIView?)
|-----------------------------|
| CV1 CV2 CV3 |
| |-----| |-------| |---| |
| |o PHP| |o Swift| |o C| |
| |-----| |-------| |---| |
|-----------------------------| 只有当我能够自动操作“容器视图”的宽度时,这个场景才能工作,这是关于项目点+标签的宽度的。因此,我可以为每个容器确定固定的边距,并将它们水平地居中(可能通过使用父容器)。
实现这一目标的途径是什么?有什么方法可以在故事板上或程序上完成吗?
发布于 2016-04-10 05:19:31
父容器视图将自动调整宽度以适应内部内容,如果您的所有CV视图的宽度都超过了autolayout所能确定的宽度(您说过将为此使用said to fit )。然后,它们必须在第一个和最后一个之间有固定的垂直空格,也必须有到父容器的边距(引导和尾随)。父容器不能有受限的宽度(例如,固定宽度约束),因为它必须根据内部的内容调整大小,如果这样做会导致约束冲突,它将无法工作。如果不对父视图容器使用autolayout,或者有宽度约束,则可以使用
let size = parentViewContainer. systemLayoutSizeFittingSize(UILayoutFittingCompressedSize)并将其设置为框架或宽度约束。
这里是一个演示这一点的示例项目。
https://stackoverflow.com/questions/36525673
复制相似问题