我有此層次結構的圖:的UIImage與resizableimagewithcapinsets失真當試圖使用含有以UIImage的轉換[層renderInContext:]
-UIView -UIImageView -UILabel
的UIImageView包含一個UIImage帶有可重新調整大小/可伸縮圖像,並使用帶有resizableimage和capinsets的圖像創建。
當我採取截圖一切都看起來不錯:
http://i.stack.imgur.com/uA6Lg.png
但是當我嘗試捕捉視圖的UIImage的結果是這樣的:
http://i.stack.imgur.com/IzUyS.jpg
正如你可以看到拉伸圖像的底部看起來很有趣。
這是我使用捕捉視圖到的UIImage代碼:
- (UIImage *) imageWithView:(UIView *)view
{
[view setBackgroundColor:[UIColor whiteColor]];
UIGraphicsBeginImageContextWithOptions(view.bounds.size, view.opaque, 2.0);
[view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *img = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
[view setBackgroundColor:[UIColor clearColor]];
return img;
}
注:該應用程序將只在@ 2X設備上使用。
圖像視圖是否固定爲與容器視圖大小相同?他們有相同的框架大小? – Wain
ImageView和包含它的視圖都沒有約束或引腳。他們有靜態的大小和位置。圖像視圖比容器視圖窄20px並且比邊距短。 –
嘗試使用view.frame.size而不是view.bounds.size。這有幫助嗎? – user1567896