iOS開發(fā)中使用UITableView提高用戶體驗(yàn)

背景:

1.在使用了MJRefresh之后,當(dāng)UITableView滑到底部的時(shí)候需要繼續(xù)上拉(比之前的上拉費(fèi)力)才能進(jìn)行刷新发魄。

效果圖:


上拉加載更多

2.當(dāng)每個(gè)Cell上有多張圖片盹牧,且圖片質(zhì)量較大的時(shí)候俩垃,用戶滑到下一頁但頁面上的圖片還沒有顯示出來。

需求:

優(yōu)化UITableView汰寓,提高用于體驗(yàn)口柳。

1.不讓用戶看到加載更多的字樣

2.滑到下一頁的時(shí)候盡量快地顯示出下一頁的圖片。

思路:

1.上拉UITableView的時(shí)候有滑,讓MJRefresh提前去加載下一頁的數(shù)據(jù)跃闹。

2.上拉UITableView的時(shí)候,提前下載下一屏上的圖片毛好。

代碼:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{

? ? CustomTableViewCell * cell = [CustomTableViewCell cellWithTableView:tableView];

? ? NSDictionary * dic = self.dataArr[indexPath.row];

? ? NSString * picStr = dic[@"pic"];

? ? [cell.picView sd_setImageWithURL:[NSURL URLWithString:picStr]];

? ? NSArray * visibleRows = [tableView indexPathsForVisibleRows];

? ? NSLog(@"count:%lu", visibleRows.count);

? ? NSInteger nextRow = indexPath.row + visibleRows.count;

? ? if (nextRow < self.dataArr.count) {

? ? ? ? NSLog(@"nextRow:%lu", nextRow);

? ? ? ? NSDictionary * nextDic = self.dataArr[indexPath.row];

? ? ? ? NSString * nextPicStr = nextDic[@"pic"];

? ? ? ? [self.imageV sd_setImageWithURL:[NSURL URLWithString:nextPicStr]];

? ? }

? ? NSInteger row = indexPath.row;

? ? if (self.dataArr.count - row < visibleRows.count) {

? ? ? ? [self.tableView.mj_footer beginRefreshing];

? ? }

? ? return cell;

}

具體實(shí)現(xiàn):

1.在cellForRowAtIndexPath:方法中獲取每個(gè)cell的行數(shù)望艺,當(dāng)數(shù)據(jù)源中未展示的數(shù)據(jù)不夠下一屏的數(shù)據(jù)的時(shí)候就去利用MJRefresh加載下一頁的數(shù)據(jù)。代碼實(shí)現(xiàn):

?if (self.dataArr.count - row < visibleRows.count) {

? ? ? ? [self.tableView.mj_footer beginRefreshing];

? ? }

2.在包含UITableView的當(dāng)前頁面去創(chuàng)建一個(gè)UIImageView作為當(dāng)前Controller的一個(gè)成員變量肌访,記為picView找默,但并不添加到當(dāng)前Controller上(為的是利用該UIImageView去下載圖片)。在cellForRowAtIndexPath:方法中在利用當(dāng)前Cell上的UIImageView去下載圖片的同時(shí)利用picView去下載數(shù)據(jù)源中還未展示的cell上的UIImageView上要顯示的圖片场靴。

代碼實(shí)現(xiàn):

? if (nextRow < self.dataArr.count) {

? ? ? ? NSDictionary * nextDic = self.dataArr[indexPath.row];

? ? ? ? NSString * nextPicStr = nextDic[@"pic"];

? ? ? ? [self.imageV sd_setImageWithURL:[NSURL URLWithString:nextPicStr]];

? ? }

注意:要對picView要去下載的圖片所在的cell的行數(shù)做一個(gè)判斷啡莉,如果超出了數(shù)據(jù)源的長度就不去下載了。

demo地址:

https://gitee.com/liangsenliangsen/uitableview_improves_user_experience

本篇文章到這里就結(jié)束了旨剥,愿大家加班不多工資多咧欣,男同胞都有女朋友,女同胞都有男朋友轨帜。??

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末魄咕,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子蚌父,更是在濱河造成了極大的恐慌哮兰,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,464評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件苟弛,死亡現(xiàn)場離奇詭異喝滞,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)膏秫,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,033評論 3 399
  • 文/潘曉璐 我一進(jìn)店門右遭,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人缤削,你說我怎么就攤上這事窘哈。” “怎么了亭敢?”我有些...
    開封第一講書人閱讀 169,078評論 0 362
  • 文/不壞的土叔 我叫張陵滚婉,是天一觀的道長。 經(jīng)常有香客問我帅刀,道長让腹,這世上最難降的妖魔是什么远剩? 我笑而不...
    開封第一講書人閱讀 59,979評論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮哨鸭,結(jié)果婚禮上民宿,老公的妹妹穿的比我還像新娘娇妓。我一直安慰自己像鸡,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,001評論 6 398
  • 文/花漫 我一把揭開白布哈恰。 她就那樣靜靜地躺著只估,像睡著了一般。 火紅的嫁衣襯著肌膚如雪着绷。 梳的紋絲不亂的頭發(fā)上蛔钙,一...
    開封第一講書人閱讀 52,584評論 1 312
  • 那天,我揣著相機(jī)與錄音荠医,去河邊找鬼吁脱。 笑死,一個(gè)胖子當(dāng)著我的面吹牛彬向,可吹牛的內(nèi)容都是我干的兼贡。 我是一名探鬼主播,決...
    沈念sama閱讀 41,085評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼娃胆,長吁一口氣:“原來是場噩夢啊……” “哼遍希!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起里烦,我...
    開封第一講書人閱讀 40,023評論 0 277
  • 序言:老撾萬榮一對情侶失蹤凿蒜,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后胁黑,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體废封,經(jīng)...
    沈念sama閱讀 46,555評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,626評論 3 342
  • 正文 我和宋清朗相戀三年丧蘸,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了漂洋。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,769評論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡触趴,死狀恐怖氮发,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情冗懦,我是刑警寧澤爽冕,帶...
    沈念sama閱讀 36,439評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站披蕉,受9級特大地震影響颈畸,放射性物質(zhì)發(fā)生泄漏乌奇。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,115評論 3 335
  • 文/蒙蒙 一眯娱、第九天 我趴在偏房一處隱蔽的房頂上張望礁苗。 院中可真熱鬧,春花似錦徙缴、人聲如沸试伙。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,601評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽疏叨。三九已至,卻和暖如春穿剖,著一層夾襖步出監(jiān)牢的瞬間蚤蔓,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,702評論 1 274
  • 我被黑心中介騙來泰國打工糊余, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留秀又,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,191評論 3 378
  • 正文 我出身青樓贬芥,卻偏偏與公主長得像吐辙,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子誓军,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,781評論 2 361

推薦閱讀更多精彩內(nèi)容