一直眼紅Swipes這個(gè)App做的真是舒服, 讀了大牛們關(guān)于自定義cell的框架發(fā)現(xiàn)都執(zhí)著于給cell加button, 不能哧溜哧溜地往左滑, 就尋思著做一個(gè)順滑的cell。斷斷續(xù)續(xù)寫了兩天眼看就要寫完了, 然而往左滑的動(dòng)畫卻一直是不如人意的 :(
想了想是不是左滑的時(shí)候系統(tǒng)的Delete按鈕在作祟, 于是
在tableView:cellForRowAtIndexPath:方法里加入
#ifdef DEBUG
NSLog(@"===cell===", [cell performSelector:@selector(recursiveDescription)]);
#endif
在tableView:commitEditingStyle:forRowAtIndexPath:方法里加入
#ifdef DEBUG
NSLog(@"===tableview===", [[tableView cellForRowAtIndexPath:indexPath] performSelector:@selector(recursiveDescription)]);
#endif
-
recursiveDescription這是一個(gè)私有方法, 用來打印任意的視圖結(jié)構(gòu), 并按視圖層次排列, 它會(huì)遞歸地做這件事, 對(duì)每個(gè)子視圖, 再去找它們的子視圖(比用Reveal查看視圖結(jié)構(gòu)更完整)。 - Release是發(fā)行版本,不包含任何調(diào)試信息, Debug是調(diào)試版本,Debug和Release調(diào)用兩個(gè)不同的底層庫。 在大工程里調(diào)試時(shí)把
NSLog()夾在#ifdef DEBUG和#endif中間,NSLog()只有在調(diào)試時(shí)才會(huì)被編譯, 省去很多麻煩。
控制臺(tái)輸出cell所有子視圖
控制臺(tái)輸出tableView所有子視圖
一共輸出了六個(gè)視圖:
其中UITableViewCellDeleteConfirmationView是ActionButton(刪除按鈕)放置的位置, 寬高和Button一樣。這是我要找的view! :)
不過......沒開canEditRowAtIndexPath:方法是不會(huì)有這個(gè)view的。
嗯一個(gè)cell就是這樣的干干凈凈

藍(lán)色是contentView、紫色是cell背景色
附順滑的cell框架:https://github.com/7937/AJSlideCell.git

