2016-09-03 7 views
0

クラスにupVoteとdownVoteという2つのUIViewControllersがあります。これらのビューをプログラムでタップするためのジェスチャ認識器を追加しましたが、親セルまたはインデックスを取得する方法がわからないので、タップされたセルのあるセルがわかります。タップされたセルまたはインデックスはどのように取得されますか関数handleTapUpとhandleTapDownのセル?ここでuitableviewcell(uiftable/xcode)でuiviewからセルインデックスを取得する方法

は、私のクラスは、私はUITableViewCellのを取得するためにself.superclassを試してみました、と私はデバッグの説明を印刷するとき、それはUITableViewCellの言うが、私は私が手オブジェクトに何かをしようとするたび

class MyTableViewCell: UITableViewCell { 
    // MARK: Properties 

    @IBOutlet weak var nameLabel: UILabel! 

    @IBOutlet weak var upVote: UIImageView! 

    @IBOutlet weak var downVote: UIImageView! 

    override func awakeFromNib() { 
     super.awakeFromNib() 
     // Initialization code 

     let tapUp = UITapGestureRecognizer(target: self, action: "handleTapUp:") 
     tapUp.delegate = self 
     upVote.addGestureRecognizer(tapUp) 

     let tapDown = UITapGestureRecognizer(target: self, action: "handleTapDown:") 
     tapDown.delegate = self 
     downVote.addGestureRecognizer(tapDown) 

    } 

    override func setSelected(selected: Bool, animated: Bool) { 
     super.setSelected(selected, animated: animated) 

     // Configure the view for the selected state 

    } 

    func handleTapUp(sender: UITapGestureRecognizer? = nil) { 
     // handling code 
     // get cell(index) 
    } 

    func handleTapDown(sender: UITapGestureRecognizer? = nil) { 
     // handling code 
     // get cell() 
    } 

} 

ですself.superclassがAnyObject型であるというエラーです。私はself.superclassをさまざまな方法で宣言/キャストしようとしましたが、誰も働いていませんでした。これはシンプルなように思えるので、うまくいけば何かが欠けているようです。

答えて

1
  • あなたcustomCellClassでの変数宣言: - のvar indexForCell:NSIndexPathを!機能func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCellで細胞をINGのあなたがdequeあるごViewControllersで

  • これを追加します -

    cell.indexForCell = indexPath 
    
  • 今すぐあなたのクラスで自分の関数でindexForCellにアクセス: -

    func handleTapUp(sender: UITapGestureRecognizer? = nil) { 
    
    let rowValue = indexForCell.row 
    
    } 
    
    func handleTapDown(sender: UITapGestureRecognizer? = nil) { 
    // handling code 
    // get cell() 
    } 
    
+0

これは私が必要としていたものです。ありがとうございました。私はそれについてすべて間違っていた。 – Shreck

関連する問題