静的なセルを使用するアプリを構築する方法を示すチュートリアルを文字通り見つけることができませんでした。クリック可能なセル付き。いくつかの古い投稿とobject-cの回答に基づいて、私は何かをまとめました。私の問題は、セルをクリックすると、staticDemoTableCell
にメンバーがないpresent
が表示されることです。
UIViewControllerにテーブルコントローラーを埋め込みました。そのセル(これまでのところ1つだけ)に対して、クラスを作成しました:
class staticDemoTableCell: UITableViewCell, UITableViewDelegate {
@IBOutlet weak var tableView: UITableView!
override func awakeFromNib() {
[...]
tableView.delegate = self
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
print("clicked") // Works when the cell is clicked
// self.present() do not work. I need to present another viewcontroller when this cell is clicked
}
}
何かが正しくありません、すべてのセルがクラスですか?
私はこれを行うために正しい方法をとったかどうかを本当に知る必要があります。私が本当に欲しいのは、これ以上のものです。つまり、グループ化されたトランザクション月曜日:リスト、火曜日:リストなどを見たことがあります。各セルは、iOSデバイスの設定と同じようにクリック可能になります。ポインタは非常に感謝します。
テーブルビューにonly静的セルが含まれていると、はるかに簡単です。
Content
をStatic Cells
に設定しますIBOutlet
sとIBAction
sを作成し、それらを接続します。したがって、次のことができます。テーブルビューを設定し、セルを静的にします。それが完了したら、セクションの数を確認する必要があります。これは、設計または達成したいことによって異なります。
その後、次のようなことができます:
複数のセクションがあり、セクション1に複数のセルがある場合。また、セクション2にはセルが1つしかありません。
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
switch indexPath.section {
case 1:
switch indexPath.row {
case 0:
// Do something
case 1:
// Do something
default:
break
}
case 2:
// Do something
default:
break
}
}
2つのセルを含むセクションが1つしかない場合は、次のようなことができます。
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
switch indexPath.row {
case 0:
// Do something
case 1:
// Do something
default:
break
}
}
これがあなたの問題の解決に役立つことを願っています。幸運を