したがって、私はExpyTableViewタイプのメインテーブルビュー(https://github.com/okhanokbay/ExpyTableView)を持っています。すべてうまく、私はそれを実装し、それを動作させることができたが、下のgifで見ることができるように、私はDidSelectとDidDeselectに対して+1の追加アクションを行う必要がある。選択した場合はtableviewcellを展開し、選択解除するとコンパクトにします。Swift 3
事が緑色で強調表示し、すぐに他の行を拡大するために選択したとき、および正常に戻る行の選択を解除して作るために、右後にそれをクリックしたときに私はしたいです。だから通常これは画面上で2回タップした後に起こる必要があります...代わりに私はgifに見られるように4を作ります。
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
//MARK : Print
print("Selected Section \(indexPath.section), Row : \(indexPath.row)")
///////////////
if let cell = tableView.cellForRow(at: indexPath) {
if (indexPath.section == 1) || (indexPath.section == 2) || (indexPath.section == 3) {
cell.layer.borderWidth = 2.0
cell.layer.borderColor = Theme.defaultColor().cgColor
cell.layer.shadowOffset = CGSize.init(width: 0.5, height: 0.5)
}
}
}
func tableView(_ tableView: UITableView, didDeselectRowAt indexPath: IndexPath) {
if let cell = tableView.cellForRow(at: indexPath) {
tableView.deselectRow(at: indexPath, animated: false)
cell.layer.borderWidth = 0.1
cell.layer.borderColor = UIColor.lightGray.cgColor
}
}
どこが間違っていましたか? THanks
こんにちは、何が問題なのですか?正確な問題と予想される結果で説明を更新してください。 セルがハイライト表示されていて(コンテンツ全体がハイライトされていない)、選択解除後にハイライトが解除されているようですね。 結果は次のようになります。 1.ハイライト 2.展開を含むセル全体がハイライト表示されますか? 3.選択解除の解除(崩壊) そうですか?そうでない場合は、説明を更新してください。 –
私は行をタップして強調表示して展開すると言ったように、行選択をもう一度クリックしてデフォルトのlayer.borderを選択解除します。これは2タップだけで行う必要があります。私の現在のプロジェクトではなく、これはgifに見られるように4つのステップで行われます –