0
A
回答
4
在iOS7上,您可以使用新的[UIView snapshotViewAfterScreenUpdates:]
方法。
爲了支持較舊的操作系統,您可以將任何視圖渲染到具有Core Graphics的UIImage中。我使用的UIView這一類的快照:
UView+Snapshot.h
:
#import <UIKit/UIKit.h>
@interface UIView (Snapshot)
- (UIImage *)snapshotImage;
@end
UView+Snapshot.m
:
#import "UIView+Snapshot.h"
#import <QuartzCore/QuartzCore.h>
@implementation UIView (Snapshot)
- (UIImage *)snapshotImage
{
UIGraphicsBeginImageContextWithOptions(self.bounds.size, NO, 0.0);
[self.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *resultingImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return resultingImage;
}
@end
它需要QuartzCore框架,所以一定要確保將它添加到您的項目。
使用,導入標題和:
UIImage *snapshot = [interestingView snapshotImage];
1
確實有可能,使用Core Graphics的渲染函數將視圖渲染到上下文中,然後使用該上下文的內容初始化圖像。請參閱this question的答案,以獲得一個好的技巧。
0
這裏是Vytis例如迅速2.x版
extension UIView {
func snapshotImage() -> UIImage {
UIGraphicsBeginImageContextWithOptions(self.bounds.size, false, 0.0)
self.layer.renderInContext(UIGraphicsGetCurrentContext()!)
let resultingImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return resultingImage
}
}
相關問題
- 1. 作爲子視圖添加UIView到另一個UIView
- 2. 如何將uiview作爲子視圖添加到現有視圖
- 3. 將uiview作爲子視圖添加到主視圖
- 4. 添加子視圖到UIView子類用於核心圖形
- 5. 添加一個子視圖
- 6. 如何添加另一個子視圖到一個NavigationController視圖
- 7. 添加一個UIView作爲一個子視圖到一個UITableViewController的觀點
- 8. 將子視圖添加到另一個子視圖ios
- 9. Swift:將子視圖添加到另一個子視圖
- 10. 添加一個UITapGestureRecognizer到子視圖
- 11. 添加一個子視圖到TableViewCell
- 12. 添加一個子視圖到UIScrollView
- 13. 添加圖像到視圖
- 14. 添加UIView子視圖不工作
- 15. UIView添加子視圖缺口
- 16. UIView不會讓我添加子視圖
- 17. 在UITableview的標題視圖中添加動態圖像到UIView
- 18. 將子視圖的子類添加到UIView的子類中
- 19. 添加圖片到一個UIView
- 20. iPhone - UIView添加一個子視圖vs drawRect?
- 21. 使用MKMapPoint將uiview作爲子視圖添加到MKmapview中
- 22. 如何將UIView子類作爲子視圖添加到另一個視圖時得到通知?
- 23. 添加一個UIView的到子視圖這已經加入的MainView
- 24. 添加子視圖到一個模糊的視圖
- 25. 添加一個子視圖到父視圖
- 26. 將新視圖添加到另一個子視圖
- 27. 將子視圖添加到另一個視圖
- 28. 將MPMoviePlayerController的視圖添加到UIView
- 29. 如何添加子視圖到視圖
- 30. 如何將圖像添加到UIView
Vytis,一切纔有意義在這裏除了'的UIImage *快照= [ interestingView snapshotImage];'Xcode抱怨:'使用未聲明的標識interestingView''。你究竟是如何申明的? – Greg
'interestingView'是你想拍攝快照圖像的視圖。因此,例如,如果你想拍一個視圖控制器視圖的快照,你將在你的UIViewController代碼中有'UIImage * snapshot = [self.view snapshotImage];' 。 – Vytis