我一直在使用這種方法將UIView
轉換成UIImage
。即視圖的屏幕快照 -作爲UIImage捕獲UIView
@interface UIView(Extended)
- (UIImage *) imageByRenderingView;
@end
@implementation UIView(Extended)
- (UIImage *)imageByRenderingView
{
UIGraphicsBeginImageContext(self.bounds.size);
[self.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *resultingImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return resultingImage;
}
@end
要使用它,我這樣做 -
UIImage *currImage = [self.view imageByRenderingView];
這使整個UIView
的圖像表示。現在我想要2張圖片,其中一張是UIView
的上半部分,另一張是下半部分。我怎麼做?
需要注意的是(從我的經驗)'renderInContext:'可能是相當昂貴的。我在'cellForRowAtIndexPath:'(現在還沒有,另一個選項)這樣做,這顯然意味着滯後。 –