ios - 怎么拿到 UITableView 滑动删除的那个红色的删除按钮对象?
巴扎黑
巴扎黑 2017-04-17 16:39:12
0
2
746

iOS 9 的 可以通过下面的代码拿到,self 是 UITableViewCell,但是9以下就不行了,而且这么拿 也不靠谱,有大神知道有什么更好的办法能过拿到这个按钮对象吗?

for (UIView *subView in self.subviews) {
        if ([NSStringFromClass([subView class]) isEqualToString:@"UITableViewCellDeleteConfirmationView"]) {
            
            UIView *view = ((UIView *)[subView.subviews firstObject]);
            
        }
    }
    

巴扎黑
巴扎黑

全部回覆(2)
刘奇

遍歷subviews不一定能拿到你想要的view的,因為有時候,你看到的東西,它不一定是一個view,也許是一個layer,也許只是view裡面draw出來的一小塊區域。

你想拿到這個view,能想到的就只有定制它的文字或者樣式,再者就是添加一些觸摸事件了。

修改文字和背景色還有添加點擊都很容易做到,如果想深度定制這個view,也許自己實現一個可能會更好。

不如說說拿到這個是想做什麼操作呢?說不定可以換個思路。

自訂「編輯」「刪除」按鈕實作tableView的一个delegate:


    func tableView(tableView: UITableView, editActionsForRowAtIndexPath indexPath: NSIndexPath) -> [UITableViewRowAction]? {
        // 编辑
        let editAction = UITableViewRowAction(style: UITableViewRowActionStyle.Normal, title: "编辑") {
            [unowned self](_, _) -> Void in
            if let vc = self.pushViewController("TUAddSessionViewController") as? TUAddSessionViewController {
                vc.session = TUCache.shared.sessionItems[indexPath.row]
                vc.editMode = true
            }
        }
        // 设置按钮背景色
        editAction.backgroundColor = self.navigationController?.navigationBar.tintColor
          
        // 删除
        let delAction = UITableViewRowAction(style: UITableViewRowActionStyle.Destructive, title: "删除") {
            (_, _) -> Void in
            TUCache.shared.sessionItems.removeAtIndex(indexPath.row)
            tableView.deleteRowsAtIndexPaths([indexPath], withRowAnimation: UITableViewRowAnimation.Fade)
        }
        return [delAction, editAction]
    }
黄舟

你應該是想修改按鈕上面的文字吧,那你可以呼叫下面的API:

func tableView(tableView: UITableView!, editActionsForRowAtIndexPath indexPath: NSIndexPath!) -> [AnyObject]!

它可以讓你自訂返回多個按鈕,可以設定一個紅色的按鈕和多個灰色的按鈕。

下面這些連結可以參考:
http://www.cnblogs.com/scaptain/p/3950123.html
http://blog.csdn.net/lcl130/article/details/42131821

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板