UIImageView控件是一種圖像控件,是可以作為加載和展示圖像的控件。
UIImageView基本使用
初始化控件: UIImageView *iv = [[UIImageView alloc]init];
設(shè)置圖片: iv.image=[UIImage imageNamed:@"圖片名.png/.jpg"];
設(shè)置控件屬性: iv.layer.masksToBounds=YES;
iv.layer.cornerRadius=(width=height)/2.0f;
//設(shè)置保持圖片位于frame的中間,使得圖片不會(huì)被拉伸和壓縮
iv.contentMode = UIViewContentModeCenter;
UIImageView控件除了和其它控件同樣的操作之外,其他需要注意:
1. 加載圖片使用最基本的“imageNamed:”方法,這一般使用于控件的背景圖加載,如UIButton也有backgroundImage的設(shè)置,同樣使用imageNamed:方法加載
2. 不過(guò)一些,如需要使用大量圖片加載時(shí),一般使用一些庫(kù)去加載需要展示的圖片,如SDWebImage(github:SDWebImage),FlyImage(github:FlyImage)。
UIImage -- imageNamed 和 imageWithContentsOfFile 區(qū)分
在 iOS 應(yīng)用中加載圖片通常有 - [UIImage imageNamed:] 和 -[UIImage imageWithContentsOfFile:] 兩種方式。它們的不同在于前者會(huì)對(duì)圖片進(jìn)行緩存,而后者只是簡(jiǎn)單的從文件加載文件。
UIImage *img = [UIImage imageNamed:@"myImage"]; // caching
// or
UIImage *img = [UIImage imageWithContentsOfFile:@"myImage"]; // no caching
在整個(gè)程序運(yùn)行的過(guò)程中,當(dāng)你需要加載一張較大的圖片,并且只會(huì)使用它一次,那么你就沒(méi)必要緩存這個(gè)圖片,這時(shí)你可以使用 -[UIImage imageWithContentsOfFile:],這樣系統(tǒng)也不會(huì)浪費(fèi)內(nèi)存來(lái)做緩存了。
當(dāng)然,如果你會(huì)多次使用到一張圖時(shí),用 - [UIImage imageNamed:] 就會(huì)高效很多,因?yàn)檫@樣就不用每次都從硬盤上加載圖片了。
如何判斷UIImageView為空
UIImage *image = [UIImage imageNamed:@""];
CGImageRef cgref = [image CGImage];
CIImage *cim = [image CIImage];
//
if (cim == nil && cgref == NULL)
{
NSLog(@"no image");
} else {
NSLog(@"imageView has a image");
}
UIIImageView控件的內(nèi)容不多,基本的使用,不以偏概全,只授之以漁,有更好的操作也會(huì)及時(shí)更新如果您有UIImageView控件的更好使用歡迎留言交流!
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。