iOS – 试图旋转文本标签,标签消失
我正在试图旋转我的视angular90度的标签。 我已经尝试了以下两种方法来做到这一点,标签从屏幕上消失。 我三重检查了属性是否正确连接。 有什么想法吗?
尝试一个:
// 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];
我不是100%确定它是否工作,但为什么你不使用M_PI_2
。 这只是简单的想法,你假设Value of Pi
是3.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];
您也可以检查这些问题的答案:
如何渲染一个旋转的UIlabel
在其中心旋转UILabel
希望这会对你有所帮助。
可能只是因为文本的视angular太小了。 当文本无法在iOS的标签视图中完全显示时,它就会消失,而不是继续显示。 也许这是一个故意的苹果政策,以防止应用程序运输与裁减文本,并迫使开发者修复;)
这听起来好像这是正在发生的事情。 你已经说过,旋转文字的时候文字越来越小,这表明你的缩放文本符合标签视图中设置的属性。 当约束视图缩小时,这将缩小文本。 但是文字在消失之前只会缩小。
如果标签视图本身似乎足够大,那么一定要检查标签所包含的每个父视图的边界,通过视图层次结构。