目前的需求是從ios從服務器獲取一張圖片在移動端展示不變形
想了2種方法
第一個方法
UimageView圖片展示時先以展示局部,用戶點擊後顯示整個圖片,代碼如下
//圖片 UIImageView *imgCamera = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, v.frame.size.height)]; [imgCamera setImageURL:[NSURL URLWithString:@"iOS博客網站www.51ios.net"] placeholder:[UIImage imageNamed:@"picture"]]; imgCamera.contentMode = UIViewContentModeScaleAspectFill; [imgCamera setContentScaleFactor:[[UIScreen mainScreen] scale]]; imgCamera.contentMode = UIViewContentModeScaleAspectFill; imgCamera.autoresizingMask = UIViewAutoresizingFlexibleHeight; imgCamera.clipsToBounds = YES; [v addSubview:imgCamera];
第二種方法
由於Uimageview展示的網絡圖片是用SDWebimage(SDWebimage最新用法)異步展示,事先是不知道圖片的高度的,所以在移動端上傳圖片時需要上傳圖片的size,在然後服務器在返回給客戶端size,然後獲取當前屏幕的寬度/size.width取得一個系數,然後size*系數就是等比例縮放後高度,此時圖片的contetnMode屬性看需求展示了,如果是等比例展示的話就用UIViewContentModeScaleAspectFit,如果是填充整個Imageview的用 UIViewContentModeScaleAspectFill目前的做法保證不會變形
UIImageview屬性供大家參考
本文受托於iOS博客網站的版主,為www.51ios.net寫的原創文章,其他網站轉載請寫明轉載於http://www.51ios.net/archives/ios網絡圖片等比例顯示不變形
目前由於www.51ios.net目前都是轉載文章為主,版主說先把網站的文章數量提上去後在以原創為主,以後有 空還會寫一些小得心得。
寫在最後,水平有限,寫的文章質量不高,有建議和好的辦法歡迎大蝦們指出