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 回答