Necesito tomar un UIImage de un UITextView o UILabel. Tengo un método que extraerá una imagen con éxito de otros tipos de vistas ([UIViewController view], MKMapView, UIButtons) pero solo estoy obteniendo un rect blanco para mi UITextView.tirando de un UIImage de un UITextView o UILabel da imagen en blanco
he estado golpeando mi cabeza contra la pared por un tiempo y algo sospechoso muy, muy básico.
muchas gracias!
@interface TaskAccomplishmentViewController : UIViewController {
MKMapView *mapView;
UILabel *timeLeftText;
UITextView *challengeText;
UIButton *successButton;
<snip>
- (void) setChallangeImageToImageFromChallenge {
// works
// [currChallenge setChallengeImage:[UIImageUtils grabImageFromView:mapView]];
// [currChallenge setChallengeImage:[UIImageUtils grabImageFromView:[self view]]];
// [currChallenge setChallengeImage:[UIImageUtils grabImageFromView:successButton]];
// doesn't work
// [currChallenge setChallengeImage:[UIImageUtils grabImageFromView:timeLeftText]];
[currChallenge setChallengeImage:[UIImageUtils grabImageFromView:challengeText]];
}
y la grabImage partir de un código UIView
+(UIImage *)grabImageFromView: (UIView *) viewToGrab {
UIGraphicsBeginImageContext(viewToGrab.bounds.size);
[[viewToGrab layer] renderInContext:UIGraphicsGetCurrentContext()];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return viewImage;
}
Es por eso que hice "un UIImage" y "un UITextView". Fue un tipo de respuesta al dilema de los prisioneros, prefiero estar en la mitad de lo correcto, totalmente equivocado ... realmente, fue intencional ... realmente. :) – Oldmicah
Para obtener una imagen nítida en la retina muestra también, que necesitaba para reemplazar 'UIGraphicsBeginImageContext (viewToGrab.bounds.size);' por esto: 'UIGraphicsBeginImageContextWithOptions (self.bounds.size, self.opaque, 0.0);' como pedido en [esta pregunta] (http://stackoverflow.com/q/4334233/2471006) y explicado en su respuesta aceptada. Quizás desee actualizar su respuesta, incluida esa información. – anneblue