使用view.layer.cornerRadius获取视图的屏幕截图

时间:2013-07-08 09:25:33

标签: ios objective-c

我使用以下代码截取屏幕截图:

UIGraphicsBeginImageContext(contentView.frame.size);
[contentView.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
UIImageWriteToSavedPhotosAlbum(viewImage, self,@selector(savedImage:didFinishSavingWithError:contextInfo:),nil);

这个问题是,似乎没有正确捕捉我的UILabel's圆角。

lbl.layer.cornerRadius=radius;

应该是这样的:

enter image description here

这就是捕获视图时的显示方式:

enter image description here

什么时候开始?我尝试了maskToBoundsclipsToBounds的组合,但没有任何效果,也许还有另一种方法可以捕捉带圆角的视图。

感谢您的任何建议!

1 个答案:

答案 0 :(得分:0)

在初始化 UIGraphicsBeginImageContext 时尝试使用视图的界限

对于Ex:

 UIGraphicsBeginImageContextWithOptions(contentView.bounds.size, NO, 1.0); //retina res