2017-09-16 4 views
0

私のtableViewでは、セルを選択できないようにします。
だから私は私のTableViewControllerに書いた:Swift UITableView willSelectRowAtが正常に動作しない

override func tableView(_ tableView: UITableView, willSelectRowAt indexPath: IndexPath) -> IndexPath? { 
    if indexPath.section == 0 { 
     return nil 
    } else { 
     if switchIsOn! { 
      return indexPath 
     } else { 
      return nil 
     } 
    } 

} 


それは私が細胞内で正常なタッチをすると、期待どおりに動作しますが、私は、セルの上に私の指を押したときに、それはとにかく、選択状態になります。どうすればこれを避けることができますか?

+0

を追加するには、停止するための選択のアニメーションや、細胞が全くdidSelectRowAtを呼び出すことではないしたいですか? –

+0

申し訳ありませんが私の質問を悪いと尋ねた、私はすぐにそれを編集します –

+0

私は私のコードの例には、私はすべてのセルを選択しないようにしたくないことを追加しました –

答えて

0

スイッチ状態の変化がtableView.reloadData(コール)、その後、この

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 

    ... 

    if indexPath.section != 0 && !switchIsOn! { 
     cell.selectionStyle = .none 
    } else { 
     cell.selectionStyle = .default 
    } 
    return cell 

} 
関連する問題