Ios 目标C/绘图和解决问题

Ios 目标C/绘图和解决问题,ios,uiimageview,uiimage,drawing,resolution,Ios,Uiimageview,Uiimage,Drawing,Resolution,我需要创建一个图像日历(它们的大小为640 x 960或960 x 640)。现在我尝试的一种方法是创建一个视图,向其中添加一个图像视图,用子视图显示图像,“绘制”,然后保存到一个文件中 现在它按计划工作,但在模拟器中测试,保存图像的分辨率是306x462(我保存的视图的大小)。现在我失去了一半原来的决心 有办法解决这个问题吗 保存视图的代码: UIGraphicsBeginImageContext(self.backgroundImageView.bounds.size); [self.bac

我需要创建一个图像日历(它们的大小为640 x 960或960 x 640)。现在我尝试的一种方法是创建一个视图,向其中添加一个图像视图,用子视图显示图像,“绘制”,然后保存到一个文件中

现在它按计划工作,但在模拟器中测试,保存图像的分辨率是306x462(我保存的视图的大小)。现在我失去了一半原来的决心

有办法解决这个问题吗

保存视图的代码:

UIGraphicsBeginImageContext(self.backgroundImageView.bounds.size);
[self.backgroundImageView.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

NSArray * paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString * basePath = ([paths count] > 0) ? [paths objectAtIndex:0] : nil;

NSString *fullPath = [NSString stringWithFormat:@"%@/Calendar.png",basePath];
NSData * binaryImageData = UIImagePNGRepresentation(image);

[binaryImageData writeToFile:fullPath atomically:YES];

如果有人有类似的问题,我提出了两种解决方案:

1) 在保存之前放大所有内容(您必须使用自动调整大小功能)


2) 将所有内容放入scrollView并以大尺寸显示,以便用户在想要查看所有内容时可以四处滚动。

您没有考虑设备屏幕比例,应该这样做:
UIGraphicsBeginImageContextWithOptions(self.backgroundImageView.bounds.size,是,[UIScreen mainScreen].scale)