app里面放的图片资源有一倍 两倍 和 3倍的,在不同屏幕下获取的图片都是一倍的图片 不知道什么原因 有高手解答一下吗 控件布局使用的是masonry没有设置死宽高,比如下面的按钮 显示的都是一倍的图片UIButton *studyBtn= [UIButton new];
UIImage *bigImg=[UIImage imageNamed:@"big_button.png"];
[studyBtn setBackgroundImage:bigImg forState:UIControlStateNormal];
[studyBtn setBackgroundImage:[UIImage imageNamed:@"big_button_h.png"] forState:UIControlStateHighlighted];
[self.view addSubview:studyBtn];
[studyBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(_roundScrollView.mas_bottom).offset(studyTopHeight);
make.centerX.mas_equalTo(self.view);
}];
UIImage *bigImg=[UIImage imageNamed:@"big_button.png"];
[studyBtn setBackgroundImage:bigImg forState:UIControlStateNormal];
[studyBtn setBackgroundImage:[UIImage imageNamed:@"big_button_h.png"] forState:UIControlStateHighlighted];
[self.view addSubview:studyBtn];
[studyBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(_roundScrollView.mas_bottom).offset(studyTopHeight);
make.centerX.mas_equalTo(self.view);
}];
最后就是宽高来做比例适配了。
看这一句
```
UIImage *bigImg=[UIImage imageNamed:@"big_button.png"];
```
首先你的图片在不同屏幕下显示不同尺寸,得按照苹果的要求命名,比如
big_button.png
[email protected]
[email protected]然后在设置图片的时候UIImage *bigImg=[UIImage imageNamed:@"big_button"];
这样就可以了,他就会自动的去适配的
2、命名是否按照@2X、@3X来命名的
如:big_button.png
[email protected]
[email protected]