弹出窗口的屏幕截图不清晰
Posted
技术标签:
【中文标题】弹出窗口的屏幕截图不清晰【英文标题】:Screenshot of popover not coming clear 【发布时间】:2013-01-07 12:09:09 【问题描述】:我正在开发一个 ios 应用程序,我需要在其中截取图像,但我无法在屏幕上截取正确的弹出框截图。 这是我的实际图像
截屏后我得到以下图像
我的抓图代码如下
UIWindow *topWindow = nil;
topWindow = [[[UIApplication sharedApplication] delegate] window];
CGSize size = CGSizeZero;
if(view == nil)
size = [[topWindow.rootViewController view] bounds].size;
else
size = [view bounds].size;
if([UIScreen instancesRespondToSelector:@selector(scale)] && [[UIScreen mainScreen] scale] == 2.0f)
UIGraphicsBeginImageContextWithOptions(size,NO,2.0f);
else
UIGraphicsBeginImageContext(size);
if(view == nil)
// Put everything in the current view into the screenshot
[[[[topWindow subviews] objectAtIndex:0] layer] renderInContext:UIGraphicsGetCurrentContext()];
//Code for capturing popover
[[[topWindow subviews].lastObject layer] renderInContext:UIGraphicsGetCurrentContext()];
else
// Put everything in the current view into the screenshot
[[view layer] renderInContext:UIGraphicsGetCurrentContext()];
// Save the current image context info into a UIImage
UIImage *imageToBeEdited = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
【问题讨论】:
从主线程执行该例程。 嗯..那太荒谬了。我怀疑绘图一致性问题。您的屏幕截图显示未完成的工作中的图像。 我也有同样的问题... Sunil 你的问题解决了吗?? 【参考方案1】:请尝试更改:
if(view == nil)
size = [[topWindow.rootViewController view] bounds].size;
else
size = [view bounds].size;
到:
if(view == nil)
size = [[topWindow.rootViewController view] bounds].size;
else
size = view.frame.size;
【讨论】:
以上是关于弹出窗口的屏幕截图不清晰的主要内容,如果未能解决你的问题,请参考以下文章