Ho un UIView che ha diverse UIImageViews come subviews. A ciascuna di queste sottoview è stata applicata una trasformazione affine diversa. Vorrei prendere ciò che equivale a una cattura dello schermo del mio UIView, catturandolo come un UIImage o qualche altra immagine.Flatten Uiviews Subviews a UIImage iPhone 3.0
Procedimento Ho provato già, rendendo gli strati di un CGContext con:
[view.layer renderInContext:UIGraphicsGetCurrentContext()];
non conserva il posizionamento o altre trasformazioni affini dei miei subviews.
Gradirei davvero un calcio nella giusta direzione.
Tu vai esso. Ho solo dovuto cambiare self.view.size a self.view.frame.size e usare renderInContext. Non sono sicuro di quanto mi sia mancato, suppongo che la frase chiave dei documenti di Apple sia "Rende nello spazio delle coordinate del livello". Grazie! – SooDesuNe
A partire da iOS4, è necessario utilizzare UIGraphicsBeginImageContextWithOptions (size, NO, 0.0) – steipete
Utilizzare invece 'YES' se si desidera che sia opaco. Aiuta le prestazioni se non hai bisogno di alpha. –