国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > iOS > 正文

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

2020-07-26 02:38:19
字體:
來源:轉載
供稿:網友

前言

凡是進行iOS開發的,基本上都會遇到要展示列表,或者即使不是標準列表,但由于數量不固定,也需要如同列表一樣從上往下顯示、加載的情況。這些,都繞不過對UITableView的使用。

在iOS開發中UITableView可以說是使用最廣泛的控件,我們平時使用的軟件中到處都可以看到它的影子,類似于微信、QQ、新浪微博等軟件基本上隨處都是UITableView。當然它的廣泛使用自然離不開它強大的功能。

我們經常在開發過程中會用到默認UITableView的cell.imageView.image,如果圖片尺寸剛好跟我們想要的尺寸一樣的話倒也相安無事,但總是有意外的,經常從接口獲取的圖片尺寸大小是不固定的

例如下圖1-1:


圖1-1

圖片的尺寸大于cell的高度,所以就被“撐爆”了,顯得非常不美觀、和諧,如果cell的高度不固定,圖片尺寸又不同,那效果就更加難看了,那我們怎么做呢?

你們肯定有多種解決方法了:

1、自定義cell(如果簡單的cell的話這個有點麻煩,又要新建cell文件????)

2、利用UIGraphicsBeginImageContextWithOptions函數來處理(目前為止我覺得最簡單的方法)

 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(是不是瞬間漂亮好多?而且不會嚴重變形哦O(∩_∩)O哈哈~):


圖1-2

這里解釋一下

*1

UIGraphicsBeginImageContextWithOptions(CGSize size, BOOL opaque, CGFloat scale)這個函數用于獲取處理圖片的圖形上下文(context),利用該上下文,你就可以在其上進行繪圖,并生成圖片。

  • size是創建上下文的大小,同時也是上下文處理圖形后返回的大小
  • opaque透明開關,如果圖形完全不用透明,設置為YES以優化位圖的存儲。
  • scale縮放因子

*2

調用UIGraphicsGetImageFromCurrentImageContext()函數可從當前上下文中獲取一個UIImage對象,這樣就講改變了圖片取出來了

*3

在完成對圖片的操作之后要關閉該上下文,所以需要調用UIGraphicsEndImageContext()函數

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對武林網的支持。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 曲麻莱县| 铜山县| 巴林左旗| 侯马市| 宁都县| 北川| 泰和县| 黑河市| 黔西县| 庐江县| 仁布县| 和政县| 吉林市| 临猗县| 鄂尔多斯市| 理塘县| 郧西县| 阳谷县| 兴安盟| 青海省| 仙居县| 布尔津县| 新丰县| 嘉义市| 平远县| 丰台区| 夏邑县| 安康市| 江城| 波密县| 靖宇县| 浦城县| 民权县| 海城市| 霸州市| 额济纳旗| 玛沁县| 邓州市| 措勤县| 嘉义市| 嘉义市|