我有一個UIImageView,目標是經過給它一個高度或寬度按比例縮小它。 測試
UIImage *image = [[UIImage alloc] initWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://farm4.static.flickr.com/3092/2915896504_a88b69c9de.jpg"]]]; UIImageView *imageView = [[UIImageView alloc] initWithImage:image]; //Add image view [self.view addSubview:imageView]; //set contentMode to scale aspect to fit imageView.contentMode = UIViewContentModeScaleAspectFit; //change width of frame CGRect frame = imageView.frame; frame.size.width = 100; imageView.frame = frame;
圖像確實調整了大小但位置不在左上角。 縮放image / imageView的最佳方法是什麼?如何更正位置? spa
imageView.contentMode = UIViewContentModeScaleAspectFill; imageView.clipsToBounds = YES;
我已經看過一些關於比例類型的討論,因此我決定整理一篇關於一些最流行的內容模式縮放類型的文章 。 code
相關圖片以下: 圖片
我想你能夠作點什麼ip
image.center = [[imageView window] center];
您能夠嘗試使imageView
大小與image
匹配。 如下代碼未通過測試。 get
CGSize kMaxImageViewSize = {.width = 100, .height = 100}; CGSize imageSize = image.size; CGFloat aspectRatio = imageSize.width / imageSize.height; CGRect frame = imageView.frame; if (kMaxImageViewSize.width / aspectRatio <= kMaxImageViewSize.height) { frame.size.width = kMaxImageViewSize.width; frame.size.height = frame.size.width / aspectRatio; } else { frame.size.height = kMaxImageViewSize.height; frame.size.width = frame.size.height * aspectRatio; } imageView.frame = frame;
如下是如何輕鬆擴展它的方法。 it
這適用於模擬器和iPhone的2.x. io
UIImage *thumbnail = [originalImage _imageScaledToSize:CGSizeMake(40.0, 40.0) interpolationQuality:1];