2013-04-24 78 views
-1

我有一个UIImageView的视图。我从我的服务器检索300像素宽和100像素高的图像。但是,当我将图像插入到我的UIImageView中时,图像被拉伸到图像视图的大小。调整大小的UIImageView

代码viewDidLoad:

id path = @"URL TO IMAGE"; 
NSURL *url = [NSURL URLWithString:path]; 
NSData *data = [NSData dataWithContentsOfURL:url]; 
UIImage *img = [[UIImage alloc] initWithData:data]; 

CGRect frame = [imageView frame]; 
frame.size.width = 300; 
frame.size.height = 100; 
[imageView setFrame:frame]; 

self.imageView.image = img; 

然而,UIImageView大小没有变化到值中的行我的代码6 & 7的上方。

我明白任何意见,我是很新的Objective-C的。

.H:

#import <UIKit/UIKit.h> 

@interface detailViewController : UIViewController 
@property (strong, nonatomic) IBOutlet UIImageView *imageView; 

回答

3

您需要设置的UIImageView的contentMode。查看UIView文档contentMode以查看可以使用的不同值。例如,UIViewContentModeScaleToFill拉伸图像以准确地匹配UIImageView的大小; UIViewContentModeCenter根本不会改变图像的大小;等等。

编辑:至于UIImageView本身,你需要确保你的引用都指向正确的相同的UIImageView,并且这是来自笔尖的相同的UIImageView。此外,如果Autolay打开笔尖,则setFrame:将不起作用,因为该框架由约束条件决定。

+0

我加入self.imageView.contentMode = UIViewContentModeScaleToFill;但仍然不能缩放图像 – 2013-04-24 21:51:21

+0

你怎么知道?将UIImageView的backgroundColor设置为黑色。这样你可以看到UIImageView本身,并且你将能够看到图像和图像视图之间的关系。 – matt 2013-04-24 21:54:34

+0

我没有改变背景颜色的建议,并在文件的.xib改变的UIImageView的大小,UIImageView的大小不被改变的值上线6&7 – 2013-04-24 22:00:55

相关问题