我创建了一个带有横向UIView的.xib。
我试图解决的问题是我希望UILabel沿着侧面垂直运行,文本从视图底部读到顶部,但我无法弄清楚如何做到这一点。这可能吗?
图片显示我的意思
答案 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;
}
您可能需要稍微调整翻译值以获得您想要的内容,但您肯定希望它们是整数(我已经使用了地板),因此标签很清晰。