XIB
ファイルにコンポーネントを作成しました。このファイルには、私はそれからリンクされ、それがSampleView
にFile's Owner
クラスの設定した2つの要素TableViewセル選択イベントがトリガーされない
- ラベル
- テーブルビュー
が含まれています。私はSampleView.swiftファイルや、このファイルでXIBファイルview
を添付しているだけのクラスのコードを次ています
@IBOutlet var view: UIView!
を、私は今のプロトコルUIViewController
、UITableViewDelegate
とUITableViewDataSource
とコントローラファイルSampleController
を作成しました。私はプログラム的Modal
として表示するには、このSampleController
を使用しています
init() {
super.init(nibName: nil, bundle: nil)
modalPresentationStyle = UIModalPresentationStyle.Custom
view.addSubview(SampleView())
}
:私は、カスタムコンポーネントを表示するには、init()
FUNCだことで、次のコードを配置しています。
これらのコードは、ラベルとTableViewを示すモーダルとして表示されます。また、TableViewでデータを入力します。問題は次のとおりです。
私はテーブル内のセルをタップすると、それは最初の試行でイベントをトリガしません。別のセルをタップすると、前のセルイベントが発生します。
なぜこのようなことが起こっているのですか?
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
var cell = tableView.dequeueReusableCellWithIdentifier("CELL")
if (cell == nil) {
cell = UITableViewCell(style: UITableViewCellStyle.Default, reuseIdentifier: "CELL")
}
cell!.textLabel?.text = sampleData[indexPath.row]["title"]
return cell
}
func tableView(tableView: UITableView, didDeselectRowAtIndexPath indexPath: NSIndexPath) {
print("tapped")
}
細胞の再利用のようなSoudsの問題。必要な 'UITableViewDataSource'メソッドを実装しましたか?もしそうなら、それをあなたの質問に投稿できますか? – Koen
@Koen私は、 'SampleController'ファイルにUIViewController、UITableViewDataSource、およびUITableViewDelegateを使用したことを述べました。データも十分にポピュレートされていますが、タップ・イベントは2番目のセルをタップした後にトリガーされます。 – codelearner
あなたの 'cellForRowAtIndexPath'と' didSelectRowAtIndexPath'関数には何がありますか? – Koen