2017-09-22 20 views
0

スタティックセルを持つUITableViewがあります。セルから離れて、別のビューにセグメンテーションする公開インジケータがあるようにしたい。開示インジケータでユーザーインタラクションを有効にする方法(ただし、UITableViewCellで有効にする方法)

問題は、ユーザーが意図的に開示インジケータではなくセルの本文をクリックすると、セルの色が変わり(グレー)、そのままになるということです。

セルのユーザー操作を無効にすることはできますが、公開はできませんか?

override func tableView(_ tableView: UITableView, accessoryButtonTappedForRowWith indexPath: IndexPath) { 
      let identifier = tableView.cellForRow(at: indexPath)?.reuseIdentifier as! String 
      selectedCellIdentifier = identifier 

      switch identifier { 
      case "DescriptionCell": 
performSegue(withIdentifier: "ShowHelpView", sender: indexPath) 
... 
} 

ユーザが正常次の開示をクリックした場合、最初のセルは、(灰色)選択されたままので、私はtableView.didDeselectを呼び出すことはできません。

+0

ユーザーが公開をタップすると、色を変更しますか?そうでない場合は、選択色をnone(Interface Builderまたはコードで)に設定できます。 – Larme

+0

ありがとうございます。選択色をnoneにすると完全に機能します。 –

答えて

2

xibまたはストーリーボードのセルの選択タイプをNoneに変更します。または、cellForRowAt:では.noneに設定できます。これにより、グレー選択状態が防止されます。

didSelectRowデリゲートメソッドを実装していない場合は、セルの操作はありません。

+0

クリスおかげさま!彼らは私を許してすぐにあなたの答えを受け入れます。乾杯! –

0

cell.selectionStyle = .nonecellForRow:At:に設定できます。

関連する問題