UITableView定制自定義cell左滑刪除按鈕小竅門

開發(fā)的時候,經(jīng)常會遇到各式各樣的問題桨螺,一般而言我們都是跟隨著UI的步子開始進行畫畫宾符,例如tableView 左滑刪除按鈕,有時候我們用的是系統(tǒng)自帶的刪除(如:淘寶的左滑)灭翔,但是如果系統(tǒng)提供的根本滿足不了需求魏烫,那么如何是好呢?請聽我娓娓道來肝箱。請繼續(xù)往下看则奥。

例如:淘寶的左滑

IMG_1240.PNG

需求:

圖片.png

實現(xiàn)的效果:

12324.gif
圖片.png
圖片.png

看到Cell上有這個視圖,那就一定能找的到
我們在tableView的點擊刪除的代理方法 里邊遍歷cell的子視圖

// 編輯樣式
- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath {
    return UITableViewCellEditingStyleDelete;
}
// 點擊刪除的代理方法
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
    
    UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
    
    for (UIView * view cell.subviews) {
        NSLog(@"%@", view);
    }
}
圖片.png
那么問題來了狭园。UITableViewCellDeleteConfirmationView為啥要在要在tableView的點擊刪除的代理方法里邊找??

原因分析:

當(dāng)刪除按鈕沒有顯示的情況下,cell子視圖里是沒有這個視圖的糊治,可以肯定是在左滑的時候系統(tǒng)把它加上去的唱矛,我們可重寫cell的 insertSubview:atIndex: 這個方法,當(dāng)添加 delete view 的時候井辜,會進這個方法绎谦,那么可以在此方法中對它進行修改窃肠。

- (void)insertSubview:(UIView *)view atIndex:(NSInteger)index {
    [super insertSubview:view atIndex:index];
    
    if ([view isKindOfClass:NSClassFromString(@"UITableViewCellDeleteConfirmationView")]) {
        view.top = 10;
        view.height = self.height - 10;
        
        for (UIButton *btn in view.subviews) {
            
            if ([btn isKindOfClass:[UIButton class]]) {
                
                [btn setBackgroundColor:[UIColor colorWithHexString:@"F2F2F2"]];
                
                [btn setTitle:nil forState:UIControlStateNormal];
                
                [btn setImage:[UIImage imageNamed:@"list_deleting"] forState:UIControlStateNormal];
                
                [btn setTintColor:[UIColor whiteColor]];
            }
        }
    }
}


之前又在網(wǎng)上看到有這么一位大神的文章冤留,文章鏈接點我纤怒,為此還花錢買了這位大神寫的電子版的書籍,不得不說 代碼寫的賊6瓜贾,但是我發(fā)現(xiàn)我如此繼承他祭芦,那么上拉的時候就不行了,就不能拉了咸灿。可能是他里面的做了什么审胸,看到那里面的各種算,我整個都懵逼了。這麻蛋得改到猴年馬月呀静浴。

作者實現(xiàn)效果


1233.gif

放在我們項目中出現(xiàn)的問題,不能往上拽了得问。就貌似tableView高度寫死了一樣椭赋。其實代碼并沒有這樣干哪怔。

1222.gif

附上demo:
請使勁戳我

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子硅急,更是在濱河造成了極大的恐慌营袜,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,509評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異免绿,居然都是意外死亡针姿,警方通過查閱死者的電腦和手機绞绒,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評論 3 394
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來筒饰,“玉大人芜赌,你說我怎么就攤上這事颜屠。” “怎么了?”我有些...
    開封第一講書人閱讀 163,875評論 0 354
  • 文/不壞的土叔 我叫張陵帮孔,是天一觀的道長。 經(jīng)常有香客問我不撑,道長文兢,這世上最難降的妖魔是什么姆坚? 我笑而不...
    開封第一講書人閱讀 58,441評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮旷偿,結(jié)果婚禮上茫负,老公的妹妹穿的比我還像新娘榕吼。我一直安慰自己,他們只是感情好顽素,可當(dāng)我...
    茶點故事閱讀 67,488評論 6 392
  • 文/花漫 我一把揭開白布咽弦。 她就那樣靜靜地躺著型型,像睡著了一般全蝶。 火紅的嫁衣襯著肌膚如雪闹蒜。 梳的紋絲不亂的頭發(fā)上寺枉,一...
    開封第一講書人閱讀 51,365評論 1 302
  • 那天,我揣著相機與錄音嫂用,去河邊找鬼型凳。 笑死,一個胖子當(dāng)著我的面吹牛嘱函,可吹牛的內(nèi)容都是我干的甘畅。 我是一名探鬼主播,決...
    沈念sama閱讀 40,190評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼往弓,長吁一口氣:“原來是場噩夢啊……” “哼疏唾!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起函似,我...
    開封第一講書人閱讀 39,062評論 0 276
  • 序言:老撾萬榮一對情侶失蹤槐脏,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后撇寞,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體顿天,經(jīng)...
    沈念sama閱讀 45,500評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,706評論 3 335
  • 正文 我和宋清朗相戀三年蔑担,在試婚紗的時候發(fā)現(xiàn)自己被綠了牌废。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,834評論 1 347
  • 序言:一個原本活蹦亂跳的男人離奇死亡啤握,死狀恐怖鸟缕,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情排抬,我是刑警寧澤懂从,帶...
    沈念sama閱讀 35,559評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站蹲蒲,受9級特大地震影響番甩,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜届搁,卻給世界環(huán)境...
    茶點故事閱讀 41,167評論 3 328
  • 文/蒙蒙 一对室、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧咖祭,春花似錦、人聲如沸蔫骂。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽辽旋。三九已至浩嫌,卻和暖如春檐迟,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背码耐。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評論 1 269
  • 我被黑心中介騙來泰國打工追迟, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人骚腥。 一個月前我還...
    沈念sama閱讀 47,958評論 2 370
  • 正文 我出身青樓敦间,卻偏偏與公主長得像,于是被迫代替她去往敵國和親束铭。 傳聞我的和親對象是個殘疾皇子廓块,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,779評論 2 354

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