将视图渲染为图像时,UIPickerView混乱/未正确渲染

时间:2020-06-17 10:38:40

标签: uiscrollview uipickerview uigraphicscontext

我在UIScrollView中有一个UIPickerView。当我渲染图像时,照片中的UIPickerView被打乱了。

这是图片: Output of the image with a scrambled UIPickerView

  1. 有什么想法要解决吗?
  2. 将图像保存到相机胶卷后,图像会被放大一点,并且边缘会被裁剪。有没有办法修复它? (当用户双击以放大,然后双击以缩小时,它是固定的。)

这是我正在使用的代码:

- (IBAction) renderScrollViewToImage
{
    UIImage* image = nil;

    [self.scrollView removeFromSuperview];
    //UIGraphicsBeginImageContext(self.scrollView.contentSize);
    UIGraphicsBeginImageContextWithOptions(self.scrollView.contentSize, YES, 0);
    {
        CGPoint savedContentOffset = self.scrollView.contentOffset;
        CGRect savedFrame = self.scrollView.frame;

        self.scrollView.contentOffset = CGPointZero;
        self.scrollView.frame = CGRectMake(0, 0, self.scrollView.contentSize.width, self.scrollView.contentSize.height);

        [self.scrollView.layer renderInContext: UIGraphicsGetCurrentContext()];
        image = UIGraphicsGetImageFromCurrentImageContext();

        self.scrollView.contentOffset = savedContentOffset;
        self.scrollView.frame = savedFrame;
    }
    UIGraphicsEndImageContext();
    [self.view addSubview:scrollView];
}

0 个答案:

没有答案