標籤:
SWTableViewCell的功能是添加TableViewCell的側滑按鈕(包括左滑和右滑按鈕)項目地址: https://github.com/CEWendel/SWTableViewCell 它是用OC寫的,可以用pod安裝,也可以直接匯入到項目中去,但是如果是swift項目,pod中已經安裝了其他的一些庫,可能會出現編譯的問題,所以這裡我就沒有使用pod,直接匯入到項目中: 1 下載SWTableViewCell項目代碼 2 將其中的項目類檔案(podfiles檔案夾下的)copy到自己的swift項目中去: 在項目橋接檔案(Bridging-Header.h)中添加 #import “SWTableViewCell" (這裡編譯的時候有個問題,“NSMutableArray+SWUtilityButton.h”會編譯出錯,可能是因為少了引用#import <UIKit/UIkit.h>的緣故,添加以下就可以了) 4 下面就可以使用SWTableViewCell了 讓自己的tableViewCell繼承自SWTableViewCell 比如想要添加右邊的側滑按鈕“修改”可以在tableViewCell中添加方法
func addSwipeRightButtons() -> Void{ var rightButtons : [AnyObject] = [AnyObject]() var deleteButton = UIButton() deleteButton.backgroundColor = ZMColor.CellEdit.toUIColor() deleteButton.setTitleColor(UIColor.whiteColor(), forState: .Normal) deleteButton.setTitle("修改", forState: .Normal) deleteButton.titleLabel?.adjustsFontSizeToFitWidth = true rightButtons.append(deleteButton) self.rightUtilityButtons = rightButtons}
然後在UITableViewDelegate中的canEditRowAtIndexPath方法中return false來禁止系統內建的一個刪除選項 同時在cellForRowAtIndexPath中cell.delegate = self 然後實現SWTableViewCell的delegate
extension ViewController: SWTableViewCellDelegate{ func swipeableTableViewCell(cell: SWTableViewCell!, didTriggerRightUtilityButtonWithIndex index: Int) { switch index{ case 0: UIAlertView(title: "通知", message: “點擊了修改按鈕", delegate: nil, cancelButtonTitle: "確定").show() break default: break}
(注意: 因為TableViewCell繼承了SWTableViewCell,因此如果在自己的tableViewCell中添加一個delegate,那麼名字就不能叫”delegate”了,因為SWTableViewCell本身就有一個,這樣會編譯出錯了)
Swift項目使用SWTableViewCell