我需要从UITextView或UILabel获取UIImage。我有一种方法可以从其他类型的 View ([UIViewController View ],MKMapView,UIButtons)成功提取图像,但是我的UITextView只得到白色矩形。
我将头撞在墙上已经有一段时间了,怀疑是真的,非常基本的东西。
非常感谢!
@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]];
}
和UIView代码中的grabImage
+(UIImage *)grabImageFromView: (UIView *) viewToGrab {
UIGraphicsBeginImageContext(viewToGrab.bounds.size);
[[viewToGrab layer] renderInContext:UIGraphicsGetCurrentContext()];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return viewImage;
}
最佳答案
该技术是正确的。也许是因为文本被翻转了。您可以尝试为坐标系和原点设置变换。就像您在绘制文本时通常会做的那样。