我需要从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;
}

最佳答案

该技术是正确的。也许是因为文本被翻转了。您可以尝试为坐标系和原点设置变换。就像您在绘制文本时通常会做的那样。

10-08 07:47