如何創建可獨立於第一個實例進行操作的UIImageView實例副本?我試過UIImageView *tempCopy = [instance copy]
但它崩潰了。有另一種方法嗎?你如何創建一個UIImageView實例的副本?
10
A
回答
14
6
UIImageView
不符合NSCopying
,但它確實符合NSCoding
。存檔您的視圖,然後將其解壓縮以獲得全新副本。
對於懶洋洋地斜,這看起來像:
NSData *archive = [NSKeyedArchiver archivedDataWithRootObject:imageView];
UIImageView *copy = [NSKeyedUnarchiver unarchiveObjectWithData:data];
-1
在回答邁克·阿卜杜拉的反應......問題是他需要保存在他的圖像視圖中已存在的所有子視圖.. 。
使用這種方法的問題是NSCoding的默認實現將不保存這些觀點......所以他必須要覆蓋的方法,並提供深層編碼(對這些努力的他更符合NSCopying和執行深拷貝)
如果你需要的是一個靜態圖像(子視圖不提供交互)我建議做以下
UIGraphicsBeginImageContext(imageView.rect.size);
[imageView.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
UIImageView *copyImageView = [[UIImageView alloc] initWithImage:viewImage];
這將確保星期二子視圖得到所有保存爲靜態圖像...
,如果你需要的是有保留它們的相互作用子視圖副本...這不會幫助你......
問候
相關問題
- 1. 你如何拒絕在PHP中創建實例副本?
- 2. Python:創建一個類的實例的副本
- 3. 如何創建一個strcat的副本?
- 4. 如何創建一個類的實例?
- 5. 如何創建一組uiimages的副本?
- 6. Android製作一個ImageView實例副本
- 7. 創建一個結果行的副本
- 8. 創建一個UIView的臨時副本
- 9. 創建一個AVPacket結構的副本
- 10. 創建一個cairo_t的副本
- 11. 你能用Python創建一個函數來爲你創建一個類的幾個實例嗎?
- 12. 如何創建一個動態UIImageView
- 13. 如何在同一個表中創建一列的副本mysql
- 14. 創建一個域類的一個實例,一個Grails腳本
- 15. C#創建一個實例
- 16. 創建一個MXML實例
- 17. 使用java代碼創建RDS實例的只讀副本
- 18. AWS自動縮放:無法創建實例的精確副本
- 19. 在python中創建實例變量的副本
- 20. 如何爲不採用NSCopying的類創建對象實例的副本?
- 21. 創建副本
- 22. 在Livy上創建另一個副本作爲副本
- 23. .clone()創建多個副本
- 24. 如何在ASP.NET MVC創建一個PDF文件的副本
- 25. 如何用javassist創建一個類的副本?
- 26. 如何在PHP中顯式創建一個變量的副本?
- 27. 如何在運行時創建一個Java類的副本?
- 28. 如何創建一個python函數的副本
- 29. 創建在一個UIImageView
- 30. 動態創建一個uiImageView
你確定你不想要它代表的UIImage? – 2011-01-07 02:11:31
UIImageView是一系列UIButtons,我可以將它們當作UIImageView的UIImage嗎? – John 2011-01-07 02:16:17