在横向视图中有一个肖像标签

时间:2013-03-14 16:24:34

标签: ios xib

我创建了一个带有横向UIView的.xib。

我试图解决的问题是我希望UILabel沿着侧面垂直运行,文本从视图底部读到顶部,但我无法弄清楚如何做到这一点。这可能吗?

图片显示我的意思

enter image description here

2 个答案:

答案 0 :(得分:2)

当然可以。你需要进行转换。

yourlabel.transform = CGAffineTransformMakeRotation(-M_PI/2);

答案 1 :(得分: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;
}

您可能需要稍微调整翻译值以获得您想要的内容,但您肯定希望它们是整数(我已经使用了地板),因此标签很清晰。