Saf*_*ari 8 objective-c uilabel cgaffinetransform ios
我有一个UILabel.我需要以编程方式旋转它.
我有我的水平UILabel,例如框架:x:0, y:0, w: 200, h:80.
现在我想旋转标签使其垂直:我尝试这段代码:
[self setTransform:CGAffineTransformMakeRotation(M_PI_2 / 2)];
Run Code Online (Sandbox Code Playgroud)
我可以看到旋转的包含文本.但我想旋转整个框架:使用我的代码,UILabel继续拥有相同的框架.
tny*_*lee 25
试试这个工作代码:
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 100, 200, 80)];
//set background color to see if the frame is rotated
[label setBackgroundColor:[UIColor redColor]];
[label setText:@"Text Here"];
label.transform=CGAffineTransformMakeRotation( ( 90 * M_PI ) / 180 );
[self.view addSubview:label];
Run Code Online (Sandbox Code Playgroud)
希望能帮助到你
如果您更喜欢在 xib 或故事板中直观地设置标签位置和大小,请执行以下操作:
在界面构建器中设置标签位置和大小,就像您希望它们在旋转后保持一样。
旋转标签并再次设置框架:
-(void)rotateLabel:(UILabel*) label
{
CGRect orig = label.frame;
label.transform=CGAffineTransformMakeRotation(M_PI * 3/2);//270º
label.frame = orig;
}
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
13872 次 |
| 最近记录: |