UIImageView的约束问题
2017-06-24 23:43
148 查看
[情况一]先创建UIImageView对象,再设置其image属性
/* * 在控制器的-viewDidLoad方法中调用如下方法 * 布局使用Masonry框架 * 项目中有两张图片①sqi_test.png②sqi_test.jpg,都为400×400像素 */ #pragma mark - UI - (void)setupUI { UIImageView *imgView = [UIImageView new]; imgView.image = [UIImage imageNamed:@"sqi_test"]; [self.view addSubview:imgView]; [imgView mas_makeConstraints:^(MASConstraintMaker *make) { make.center.equalTo(self.view); }]; }
没有报约束警告.
由上图可见,先创建UIImageView对象,再指定image属性会有一个问题:若是没有设定宽高约束,则会自动把图片的像素映射为屏幕上的点(point)(400×400pt), 发生这种情况的原因是没有相应的@2x的图片(模拟器为iPhone 7), 如果有sqi_test.png(200×200pi)和sqi_text@2x.png(400×400pi)的图片, 则图片显示效果为View中央200×200pt的图片.注意:如果没有@1x的图片,只有@2x的图片,则什么都不会显示(UIImageView的宽高为0,根本原因是找不到图片).
若把imageNamed方法换成imageWIthContentOfFile方法,效果一样.
UIImageView *imgView = [[UIImageView alloc] init]; NSString *imgPath = [[NSBundle mainBundle] pathForResource:@"sqi_test.png" ofType:nil];// 扩展名不可省略 imgView.image = [UIImage imageWithContentsOfFile:imgPath]; [self.view addSubview:imgView]; [imgView mas_makeConstraints:^(MASConstraintMaker *make) { make.center.equalTo(self.view); }];
[情况二]创建UIImageView对象的同时,指定image属性
NSString *imgPath = [[NSBundle mainBundle] pathForResource:@"sqi_test.png" ofType:nil]; UIImageView *imgView = [[UIImageView alloc] initWithImage:[UIImage imageWithContentsOfFile:imgPath]]; [self.view addSubview:imgView]; [imgView mas_makeConstraints:^(MASConstraintMaker *make) { make.center.equalTo(self.view); }];
* 结论:同情况一.
相关文章推荐
- UIImageView模糊, 边缘被切割问题
- UIImageView 添加 UIButton 不响应问题
- ios 关于UIImageView的显示问题——居中显示或者截取图片的中间部分显示
- uiscrollView UINavigation和uitabbar添加约束的问题
- UIImageView使用问题
- UIImageView animationImages内存问题
- 关于UIImageView 添加UITapGestureRecognizer后传参的问题
- 导航栏标题的设置以及左右按钮的颜色、选取照片弹出UIImagePickView时状态栏上移问题、View向上旋转某个角度
- 关于UIButton和UIImageView共存的问题
- 【iOS开发问题】添加UIImageView不显示的问题
- UIImageView的图片居中问题
- UIImageView释放release事件无法响应的问题
- UIImageView的图片居中问题
- 有关UIImageView+AFNetworking 下载图片的线程问题
- 关于UIImageView的显示问题——居中显示或者截取图片的中间部分显示
- 关于UIButton和UIImageView共存的问题.
- UIImageView的图片居中问题
- 在ios中使用opencv将彩色图片转换成为灰度图,uiimageview无法显示问题
- UIImageView添加UITapGestureRecognizer后传参问题
- 关于UIImageView的显示问题