我尝试缩放图像,我想使用Aspect Fit。但它不起作用
solutionImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"bg_solution@2x.png"]];
// optional:
solutionImageView.contentMode = UIViewContentModeScaleAspectFit; // content mode
solutionImageView.center = CGPointMake((currentWidth)/2, currentHeight - (currentHeight/3.5));
[self.view addSubview:solutionImageView];
答案 0 :(得分:0)
正如arunit21在他的评论中所说,当你用initWithImage
方法创建一个UIImageView时,视图框架的大小是用图像大小计算的。因此,您的图像视图居中但比窗口大。
你可以做到
solutionImageView = [[UIImageView alloc] initWithFrame:yourFrame];
solutionImageView.image = [UIImage imageNamed:@"bg_solution"];
solutionImageView.contentMode = UIViewContentModeScaleAspectFit; // content mode
solutionImageView.center = CGPointMake((currentWidth)/2, currentHeight - (currentHeight/3.5));
[self.view addSubview:solutionImageView];
您也可以在初始化后设置新帧以设置正确的大小。
@2x.png
中不需要[UIImage imageNamed:@"bg_solution"]
。使用此方法,系统将检查屏幕是否为视网膜并查找@2x
图像(如果存在),否则采用正常图像。