iOS 固定UITableView的cell.imageView.image圖片大小

經(jīng)常開(kāi)發(fā)過(guò)程中會(huì)用到默認(rèn)UITableViewcell.imageView.image,如果圖片尺寸剛好跟我們想要的尺寸一樣的話倒也相安無(wú)事,但總是有意外的,經(jīng)常從接口獲取的圖片尺寸大小是不固定的,例如下圖1-1:

圖1-1

圖片的尺寸大于cell的高度,所以就被“撐爆”了,顯得非常不美觀、和諧,如果cell的高度不固定,圖片尺寸又不同,那效果就更加難看了,那我們?cè)趺醋瞿??你們肯定有多種解決方法了:

1、自定義cell(如果簡(jiǎn)單的cell的話這個(gè)有點(diǎn)麻煩,又要新建cell文件····)

2、利用UIGraphicsBeginImageContextWithOptions函數(shù)來(lái)處理(目前為止我覺(jué)得最簡(jiǎn)單的方法)

    UIImage * icon = [UIImage imageNamed:@"goods_1"];
    CGSize itemSize = CGSizeMake(36, 36);//固定圖片大小為36*36
    UIGraphicsBeginImageContextWithOptions(itemSize, NO, 0.0);//*1
    CGRect imageRect = CGRectMake(0, 0, itemSize.width, itemSize.height);
    [icon drawInRect:imageRect];
    cell.imageView.image = UIGraphicsGetImageFromCurrentImageContext();//*2
    UIGraphicsEndImageContext();//*3

完成之后圖示如下圖1-2(是不是瞬間漂亮好多?而且不會(huì)嚴(yán)重變形哦O(∩_∩)O哈哈~):

圖1-2

這里解釋一下
*1
UIGraphicsBeginImageContextWithOptions(CGSize size, BOOL opaque, CGFloat scale)這個(gè)函數(shù)用于獲取處理圖片的圖形上下文(context),利用該上下文,你就可以在其上進(jìn)行繪圖,并生成圖片。
size是創(chuàng)建上下文的大小,同時(shí)也是上下文處理圖形后返回的大小
opaque透明開(kāi)關(guān),如果圖形完全不用透明,設(shè)置為YES以優(yōu)化位圖的存儲(chǔ)。
scale縮放因子

*2
調(diào)用UIGraphicsGetImageFromCurrentImageContext()函數(shù)可從當(dāng)前上下文中獲取一個(gè)UIImage對(duì)象,這樣就講改變了圖片取出來(lái)了

*3
在完成對(duì)圖片的操作之后要關(guān)閉該上下文,所以需要調(diào)用UIGraphicsEndImageContext()函數(shù)

最后編輯于
?著作權(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ù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Core Graphics Framework是一套基于C的API框架,使用了Quartz作為繪圖引擎。它提供了低...
    ShanJiJi閱讀 1,722評(píng)論 0 20
  • 許多UIView的子類,如一個(gè)UIButton或一個(gè)UILabel,它們知道怎么繪制自己。遲早,你也將想要做一些自...
    shenzhenboy閱讀 1,756評(píng)論 2 8
  • 原文地址:http://www.cocoachina.com/industry/20140115/7703.htm...
    默默_David閱讀 6,255評(píng)論 0 1
  • 感恩早上老弟給我送無(wú)公害紅薯和南瓜,老弟知道我愛(ài)吃原糧,別人送他的再送給我,感謝他有好吃的想到我。 感恩瞿先生知道...
    開(kāi)荒者cx閱讀 206評(píng)論 0 0
  • 一.相關(guān)知識(shí)簡(jiǎn)介 1.JSON和XML 1.)相同點(diǎn):都是前后臺(tái)數(shù)據(jù)交互的數(shù)據(jù)格式 2.)不同點(diǎn):具體內(nèi)容參見(jiàn)...
    落地逃閱讀 652評(píng)論 0 0

友情鏈接更多精彩內(nèi)容