Je souhaite afficher le même UIView plusieurs fois. Pour le moment, j'ai mon dessin dans un UIView primaire, puis copiez ceci dans une image en utilisant renderInContext: et UIGraphicsGetImageFromCurrentImageContext. Ensuite, je définis le contenu des autres UIViews proxy pour être cette image.Dupliquer les UIViews
UIGraphicsBeginImageContext(size);
[self.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage * clonedImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return [clonedImage CGImage];
Je rencontre un goulot d'étranglement dans le renderInContext: appeler, sans doute parce qu'il doit copier l'image de la vue. Je vois des points chauds dans resample_byte_h_3cpp et resample_byte_v_Ncpp, mais je ne suis pas sûr de ce qu'ils font.
Est-il possible d'afficher le même UIView plusieurs fois pour réduire cette surcharge? Ou y a-t-il un moyen plus efficace de rendre l'image?
De quel type de UIView faites-vous référence? – matheeeny
C'est un descendant UIView avec une image d'arrière-plan et quelques superpositions CAShapeLayer. – Douglas