iOS - 尝试旋转文本标签,标签消失

时间:2013-01-12 08:19:32

标签: iphone ios cocoa-touch rotation uilabel

我正在尝试将视图上的标签旋转90度。我尝试了以下两种方法来做到这一点,标签就从屏幕上消失了。我三重检查属性是否正确附加。有什么想法吗?

尝试一个:

// rotating labels 90 degrees
self.labelCloseScroll.transform = CGAffineTransformMakeRotation (3.14/2);

尝试两个:

CGAffineTransform rotate = CGAffineTransformMakeRotation(3.14/2);
rotate = CGAffineTransformScale(rotate, 1, 1);
[self.labelCloseScroll setTransform:rotate];

2 个答案:

答案 0 :(得分:1)

我不是100%确定它是否有效,但你为什么不使用M_PI_2。只是简单地认为您假设Value of Pi3.14,但确切的值为3.14159...

我是这样做的,而且效果很好:

UILabel *lbl = [[UILabel alloc] initWithFrame:CGRectMake(10, 10, 50, 70)];
lbl.text = @"New";
lbl.backgroundColor = [UIColor clearColor];
lbl.textColor = [UIColor whiteColor];
lbl.highlightedTextColor = [UIColor blackColor];
lbl.font = [UIFont systemFontOfSize:12];
lbl.transform = CGAffineTransformMakeRotation(M_PI_2);
[self.view addSubview:lbl];

您还可以查看这些问题的答案:

How to Render a rotated UIlabel

Rotating UILabel at its center

希望它对你有所帮助。

答案 1 :(得分:1)

可能只是视图的边界对于文本来说太小了。当文本无法在iOS的标签视图中完全显示时,它只会消失,而不是保持显示。也许这是一个故意的Apple政策,以防止应用程序通过剪辑文本和迫使开发人员修复;)

听起来好像这就是正在发生的事情。您已经说过旋转它时文本会变小,这表示您有缩放文本以适应标签视图上设置的属性。当约束视图的大小减小时,这将缩小文本。但是文本在消失之前只会缩小很多。

如果标签视图本身看起来足够大,还要确保检查标签所包含的每个父视图的边界,直到视图层次结构。