我创建了一个带有横向 UIView 的 .xib。
我要解决的问题是我希望 UILabel 沿着侧面垂直运行,文本从视图底部读取到顶部,但我不知道该怎么做。那可能吗?
图像显示我的意思
您需要旋转然后翻译它以将其放置在您想要的位置。旋转发生在标签的中心周围,这就是您需要翻译它的原因。如果您将文本标签的左上角放置在您希望它结束的位置(即显示的标签看起来像它围绕标签的左上角点旋转),您将使用如下代码:
- (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 完成了),因此标签清晰。
当然可以。你需要做一个转换。
yourlabel.transform = CGAffineTransformMakeRotation(-M_PI/2);