9

私はコードを使って独学してきましたAuto Layout(つまり、Interface Builder を避けています)。

で設定したいビューがありますAuto Layout

横型が3UILabels本、縦型が1本あります。

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

左のラベルは左に 90 度回転しています。

回転したラベルと回転していないラベルの間に自動レイアウトを適用する方法がわかりませんか?

これはできますか?

は になりますか、 は になりheightますか、など...widthtopleft

4

1 に答える 1

5

おそらく「正しい」答えがありますが、簡単な回避策は、回転されていないビューのサブビューとして回転されたラベルを追加し、それらのビューでレイアウトを行うことです。

更新:ビューに変換が適用されると、フレームが可能な限り最小の境界フレーム*になることを思い出しました。私が間違っていない限り、それはフレームがまさにあなたが望むものであることを意味し、レイアウト計算がフレームに基づいていると仮定すると、期待どおりに機能するはずです。

* 最後に変換されたビューを操作したとき、回転したビューのフレームは定義されていませんでしたが、実験の結果、回転したビューの境界矩形であることがわかりました。現在定義されているのか、明示的に許可/禁止されているのかは不明です。

更新 2: docsを確認しましたが、これを行うことに対する強い言葉の警告がまだあります。

警告: transform プロパティが恒等変換でない場合、このプロパティの値は定義されていないため、無視する必要があります。

于 2013-03-11T17:50:18.280 に答える