我在CATextLayer
中显示一些文字,但是它大到适合定义的矩形。我想让文本慢慢旋转,以便全部可以阅读。我不知道怎么做。我希望有一个相对简单的方法来做到这一点,如果没有,有人知道一个示例或教程的网址显示/教导如何做这样的事情。
CATextLayer *label = [[CATextLayer alloc] init];
NSRect labelRect;
labelRect.origin.x = 20;
labelRect.origin.y = -height / 3.5;
labelRect.size.width = width - 40;
labelRect.size.height = height;
[label setFont:@"Helvetica-Bold"];
[label setFontSize: fontSize];
[label setFrame:labelRect];
[label setString:@"Some really long menu item that won't fit"];
[label setAlignmentMode:kCAAlignmentLeft];
[label setForegroundColor:whiteColor];
更新:我想我想要描述的是文本本身会旋转。就像html marquee标签一样。
答案 0 :(得分:1)
这对我有用,它会帮助你试试这个....
CGFloat radians = atan2f(_userResizableView2.transform.b, _userResizableView2.transform.a);
CGFloat flip=((UITextView*)_userResizableView2.contentView).transform.a;
NSLog(@"Flip x: %f Y : %f",((UITextView*)_userResizableView2.contentView).transform.a,((UITextView*)_userResizableView2.contentView).transform.b);
CGFloat degrees = radians * (180 / M_PI);
NSLog(@"Degree :%f",degrees);
float radiansToRotate = DEGREES_TO_RADIANS( -degrees );
CATransform3D zRotation;
zRotation = CATransform3DMakeRotation(radiansToRotate,0, 0, 1.0);
titleLayer.transform = CATransform3DScale(zRotation,flip, 1, 1);