9

我一直在自学Auto Layout使用代码(即避免使用 Interface Builder)。

我有一个我想设置的视图Auto Layout

它有 3 个UILabels水平的和一个垂直的。

Sort of like this.
---------------------------------------------
| ---  -----------------------------------  |
| | |  |                                 |  |
| | |  -----------------------------------  |
| | |  -----------------------------------  |
| | |  |                                 |  |
| | |  -----------------------------------  |
| | |  -----------------------------------  |
| | |  |                                 |  |
| ---  -----------------------------------  |
---------------------------------------------

左侧的标签向左旋转 90 度。

我只是不确定如何在旋转标签和非旋转标签之间应用自动布局?

这可以做到吗?

变成heightwidthtop变成了left,等等……

4

1 回答 1

5

可能有一个“正确”的答案,但一个简单的解决方法是将旋转标签添加为非旋转视图的子视图,并使用这些视图进行布局。

更新:我只记得当视图应用了变换时,框架成为可能的最小边界框架*。除非我弄错了,否则这意味着框架正是您想要的,并且假设布局计算基于框架,它应该按预期工作。

* 当我上次使用转换视图时,旋转视图的框架是未定义的,但实验表明它是旋转视图的边界矩形。不确定它现在是否已定义或明确允许/禁止。

更新 2:我检查了docs,他们仍然对这样做有强烈的警告:

警告:如果变换属性不是恒等变换,则此属性的值未定义,因此应被忽略。

于 2013-03-11T17:50:18.280 回答