0

横向きのUIViewを使用して.xibを作成しました。

私が解決しようとしている問題は、UILabelを横に垂直に走らせ、テキストをビューの下から上に読んでもらいたいということですが、その方法がわかりません。それは可能ですか?

私が何を意味するかを示す画像

ここに画像の説明を入力してください

4

2 に答える 2

2

回転させてから移動して、目的の場所に配置する必要があります。回転はラベルの中心を中心に発生するため、ラベルを変換する必要があります。テキストラベルを最終的に配置したい場所に左上隅に配置した場合(つまり、表示されたラベルがラベルの左上隅の点を中心に回転しているように見える場合)、次のようなコードを使用します。

- (void)viewDidLayoutSubviews {
    CGAffineTransform transform = CGAffineTransformMakeRotation(3 * M_PI_2);
    CGAffineTransform transform2 = CGAffineTransformConcat(transform, CGAffineTransformMakeTranslation(floor(-self.label.bounds.size.width / 2), floor(-self.label.bounds.size.width / 2)));
    self.label.transform = transform2;
}

必要な値を取得するには、変換値を少し調整する必要があるかもしれませんが、ラベルが鮮明になるように、整数(私はfloorで行った)にする必要があります。

于 2013-03-14T17:06:50.830 に答える
2

もちろんできます。変換を行う必要があります。

yourlabel.transform = CGAffineTransformMakeRotation(-M_PI/2);
于 2013-03-14T16:45:56.320 に答える