[iOS]How to make a “snapshot” of the current view's state

前端 未结 3 348
误落风尘
误落风尘 2020-12-03 14:43

I need to make a snapshot or a screenshot - call it as you like- of the current view and then display it in the modal view.

Because if I just write this in the Moda

相关标签:
3条回答
  • 2020-12-03 14:58

    I would suggest doing this:

    Have a method that creates an image out of the contents of the view.

    -(UIImage*) makeImage {
    
    UIGraphicsBeginImageContext(self.view.bounds.size);
    
    [self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
    
    UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
    UIGraphicsEndImageContext();
    
    return viewImage;
    }
    

    Create a custom init method for your modal view, and also give your modalView an instance variable that can hold a UIImage something like...

    - (id)initWithImage:(UIImage *)temp {
       myImage = temp;
    }
    

    Then in your modalView, perhaps in the viewDidLoad method, create a UIImageView and set the image to myImage

    Hopefully this achieves what you are trying to do.

    0 讨论(0)
  • 2020-12-03 15:11
    UIView *viewSnapShop = [self snapshotViewAfterScreenUpdates:NO];
    
    0 讨论(0)
  • 2020-12-03 15:18

    In iOS 7, you can use one of the new methods in UIView for creating snapshots, for instance:

    - (UIView *)snapshotViewAfterScreenUpdates:(BOOL)afterUpdates;
    

    which returns a UIView which you can then add as a subview.

    0 讨论(0)
提交回复
热议问题