當(dāng)我們使用tableView的進(jìn)入編輯模式的時(shí)候重付,我們可以在下面的函數(shù)的返回值來(lái)修改cell到底要顯示哪一種顯示模式:
- (UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath
其中UITableViewCellEditingStyle是枚舉:
typedef NS_ENUM(NSInteger, UITableViewCellEditingStyle) {
UITableViewCellEditingStyleNone,
UITableViewCellEditingStyleDelete,
UITableViewCellEditingStyleInsert
};
返回UITableViewCellEditingStyleDelete效果如下
返回UITableViewCellEditingStyleInsert效果如下
但是如果我們想要帶復(fù)選框的編輯模式(如下圖)該如何做呢
在OC中可以編寫(xiě)代碼來(lái)實(shí)現(xiàn)
-(UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath
{
return UITableViewCellEditingStyleDelete | UITableViewCellEditingStyleInsert;
}
那么問(wèn)題來(lái)了,若我們是用swift重寫(xiě)同樣的代碼
override func tableView(tableView: UITableView, editingStyleForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCellEditingStyle {
return (UITableViewCellEditingStyle.Insert | UITableViewCellEditingStyle.Delete)
}
如果這樣寫(xiě)的話(huà)职辨,編譯器會(huì)報(bào)錯(cuò),如何解決這種語(yǔ)法的問(wèn)題還沒(méi)搞懂 - -血巍!
臨時(shí)解決辦法:
1株婴、用StoryBoard,對(duì)TableView設(shè)置如下圖揖铜,紅色框選區(qū)域?yàn)樾枰薷牡牡胤?/p>
2、將tabView返回UITableViewCellEditingStyle的delegate方法交給用OC編寫(xiě)(無(wú)奈選擇)
3达皿、設(shè)置tabVlew的allowsMultipleSelectionDuringEditing屬性
self.tableView.allowsMultipleSelectionDuringEditing = true