iOS中TableView小技巧

TableView是ios開發(fā)中經(jīng)常用到的控件耗跛,這里統(tǒng)一記錄一下開發(fā)中遇到的常用小技巧裕照,不斷探索更新,也希望大家可以告訴我更多常用的小技巧啦~一起進(jìn)步调塌。

1晋南、去除多余的列表線條

原始的TableView在沒有數(shù)據(jù)的行也會顯示一條條的線條,不太美觀羔砾,用一行代碼可以解決负间,一般放在ViewDidLoad中

self.tableView.tableFooterView = [[UIView alloc] init];  

2、選中列表條目后取消選中的背景顏色

不處理的情況下姜凄,選中一行后政溃,該行會保持被選中的背景色,一般我們不希望其保持态秧,而是一閃而過告知用戶選中過就好了董虱,在TableView的Delegate方法中實(shí)現(xiàn):

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {  
    [tableView deselectRowAtIndexPath:indexPath animated:YES];// 選中后取消選中的顏色  
}  

3、滑動列表時收起鍵盤

一般列表都會伴隨著搜索框或其他輸入框申鱼,我們在輸入時彈出鍵盤愤诱,但是滑動列表時就表示我已經(jīng)輸入完畢了,不希望鍵盤保持在界面上润讥,而是自動收起转锈,同樣是在TableView的Delegate方法中實(shí)現(xiàn),但是是用的ScrollView的方法楚殿,讓搜索框之類的放棄第一響應(yīng)即可:

// 滑動時收起搜索框的鍵盤  
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {  
    [self.searchBar resignFirstResponder];  
} 

4、去掉NavigationController下的TableView頂部出現(xiàn)的空白區(qū)域

iOS 7 中viewcontroller新增了屬性automaticallyAdjustsScrollViewInsets竿痰,即是否根據(jù)按所在界面的navigationbar與tabbar的高度脆粥,自動調(diào)整scrollview的 inset,把它設(shè)置為NO就好了:

self.automaticallyAdjustsScrollViewInsets = NO;  

5影涉、設(shè)置cell不可點(diǎn)擊

有時候我們的列表只是為了展示某些內(nèi)容变隔,而不需要用戶點(diǎn)擊,也不希望用戶點(diǎn)擊蟹倾,雖然上面第二條可以設(shè)置點(diǎn)擊后取消選中匣缘,但是還是會有一個動畫效果存在,這個方法可以讓點(diǎn)擊徹底沒有效果鲜棠,明確地告訴用戶不能點(diǎn)擊列表:

[cell setSelectionStyle:UITableViewCellSelectionStyleNone];  

6肌厨、根據(jù)indexPath獲取對應(yīng)的cell

我們想要獲取或者修改cell中的信息時,往往需要獲取cell豁陆,在tableview的delegate中柑爸,我們一般只能獲取到indexPath這個參數(shù),通過以下方法可以獲取到對應(yīng)的cell:

UITableViewCell *cell = [self tableView:tableView cellForRowAtIndexPath:indexPath];  

7盒音、為cell設(shè)置不同高度

常規(guī)情況下表鳍,我們的cell都是同樣的高度的馅而,但是一些特殊情況下,比如cell內(nèi)有一個label譬圣,這個label顯示的內(nèi)容是根據(jù)文字長度變換label高度的瓮恭,這時我們不能單單變換label的高度,還要相應(yīng)的改變cell的高度厘熟,才能正確地顯示內(nèi)容偎血,通過以下方法動態(tài)地設(shè)置cell高度:

// 首先根據(jù)內(nèi)容修改cell高度  
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath  
{  
    ……  
    // 獲取cell的frame  
    CGRect cellFrame = [cell frame];  
  
    // 根據(jù)內(nèi)容改變cell高度 ……  
    // ……  
  
    // 修改cell的frame  
    [cell setFrame:cellFrame];  
  
    return cell;  
}  
  
// 別忘了這里也要變  
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath  
{  
    UITableViewCell *cell = [self tableView:tableView cellForRowAtIndexPath:indexPath];  
    return cell.frame.size.height;  
}  

8、設(shè)置cell下方無分割線

如果我們想自己設(shè)計cell之間的分割線盯漂,就需要把cell之間的分割線全部去掉颇玷,通過下面的代碼去除cell的分割線:

self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;  

9、設(shè)置section標(biāo)題文字

section支持直接定義標(biāo)題文字就缆,雖然不太好看帖渠,但可以滿足基本的需求:

- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {  
    return @"標(biāo)題";  
}  

其他可以繼續(xù)補(bǔ)充

查看作者首頁

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市竭宰,隨后出現(xiàn)的幾起案子空郊,更是在濱河造成了極大的恐慌,老刑警劉巖切揭,帶你破解...
    沈念sama閱讀 217,406評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件狞甚,死亡現(xiàn)場離奇詭異,居然都是意外死亡廓旬,警方通過查閱死者的電腦和手機(jī)哼审,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評論 3 393
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來孕豹,“玉大人涩盾,你說我怎么就攤上這事±常” “怎么了春霍?”我有些...
    開封第一講書人閱讀 163,711評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長叶眉。 經(jīng)常有香客問我址儒,道長,這世上最難降的妖魔是什么衅疙? 我笑而不...
    開封第一講書人閱讀 58,380評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮炼蛤,結(jié)果婚禮上妖爷,老公的妹妹穿的比我還像新娘。我一直安慰自己絮识,他們只是感情好绿聘,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,432評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著次舌,像睡著了一般。 火紅的嫁衣襯著肌膚如雪彼念。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,301評論 1 301
  • 那天逐沙,我揣著相機(jī)與錄音哲思,去河邊找鬼。 笑死吩案,一個胖子當(dāng)著我的面吹牛棚赔,可吹牛的內(nèi)容都是我干的徘郭。 我是一名探鬼主播靠益,決...
    沈念sama閱讀 40,145評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼残揉,長吁一口氣:“原來是場噩夢啊……” “哼胧后!你這毒婦竟也來了抱环?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,008評論 0 276
  • 序言:老撾萬榮一對情侶失蹤江醇,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體裆站,經(jīng)...
    沈念sama閱讀 45,443評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,649評論 3 334
  • 正文 我和宋清朗相戀三年羽嫡,在試婚紗的時候發(fā)現(xiàn)自己被綠了肩袍。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,795評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡魂爪,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出滓侍,到底是詐尸還是另有隱情,我是刑警寧澤撩笆,帶...
    沈念sama閱讀 35,501評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站氮兵,受9級特大地震影響歹鱼,放射性物質(zhì)發(fā)生泄漏泣栈。R本人自食惡果不足惜醉冤,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,119評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望铃绒。 院中可真熱鬧,春花似錦颠悬、人聲如沸定血。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至茫虽,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間濒析,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評論 1 269
  • 我被黑心中介騙來泰國打工婴氮, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人主经。 一個月前我還...
    沈念sama閱讀 47,899評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像渠驼,于是被迫代替她去往敵國和親鉴腻。 傳聞我的和親對象是個殘疾皇子迷扇,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,724評論 2 354

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