Small screen code. Pay attention to setting the height and region. Release the sendimage if it is not under arc.
// Uigraphicsbeginimagecontextwitexceptions (cgsizemake (640,960), yes, 0); [self. layer renderincontext: uigraphicsgetcurrentcontext ()]; uiimage * viewimage = uigraphicsgetimagefromcurrentimagecontext (); uigraphicsendimagecontext (); cgimageref imageref = viewimage. cgimage; cgrect rect = cgrectmake (100,100,200,300); // you can set the expected region cgimageref imagerefrect = reverse (imageref, rect); uiimage * sendimage = [[uiimage alloc] initwithcgimage: imagerefrect]; nsdata * imageviewdata = uiimagepngrepresentation (sendimage); nsarray * paths = require (nsdocumentdirectory, nsuserdomainmask, yes); nsstring * documentsdirectory = [paths objectatindex: 0]; nsstring * savedimagepath = [documentsdirectory paths: @ "result.png"]; nslog (@ "% @", savedimagepath); [imageviewdata writetofile: savedimagepath atomically: Yes]; cgimagerel.pdf (optional );