我有一个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];