gpt4 book ai didi

ios - 编程 UITableView 的 didSelectRowAtIndexPath 不响应触摸

转载 作者:搜寻专家 更新时间:2023-11-01 05:41:35 25 4
gpt4 key购买 nike

我在默认的 KeyboardViewController.swift 中以编程方式为自定义键盘扩展创建了一个 UITableView,但由于某种原因,didSelectRowAtIndexPath 根本没有响应。我已确保将表格和单元格的 userInteractionEnabled 设置为 true,并确保将 allowsSelectionDuringEditing 设置为 true。 tableView 肯定正在填充,当我触摸它们时单元格会突出显示,但日志根本没有出现(当有断点时方法也不会中断)。

有人知道我为了实现这件事可能搞砸了什么吗?

class KeyboardViewController: UIInputViewController, UITableViewDelegate, UITableViewData Source {

var tableView: UITableView = UITableView()
//other setup

override func viewDidLoad() {
super.viewdidLoad

// other setup here

tableView.frame = CGRectMake(0, 0, 320, 160)
tableView.delegate = self
tableView.dataSource = self
tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "cell")
tableView.allowsSelection = true
tableView.allowsSelectionDuringEditing = true
tableView.userInteractionEnabled = true
self.view.addSubview(tableView)
}

//delegate&datasource methods
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
let sectionTitle = artistSectionTitles[section]
let sectionArtist = artists[sectionTitle]

return sectionArtist!.count
}

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

var cell:UITableViewCell = tableView.dequeueReusableCellWithIdentifier("cell") as UITableViewCell
cell.userInteractionEnabled = true
let sectionTitle = artistSectionTitles[indexPath.section]
let sectionArtists = artists[sectionTitle]
let artist = sectionArtists?[indexPath.row] as NSString

cell.textLabel?.text = artist
return cell
}

func tableView(tableView: UITableView, heightForRowAtIndexPath indexPath: NSIndexPath) -> CGFloat {
return 22
}

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
tableView.deselectRowAtIndexPath(indexPath, animated: false)
println("You selected cell #\(indexPath.row)!")
}

func tableView(tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
return artistSectionTitles[section]
}

func sectionIndexTitlesForTableView(tableView: UITableView) -> [AnyObject]! {
return artistSectionTitles
}

func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return artistSectionTitles.count
}

最佳答案

您如何跟踪选择实际上不起作用?因为如果行亮起 - 它应该可以工作。

也许您正在某处更改 tableView 委托(delegate)?

也可以尝试更改单元格的 selectionStyle 属性。

关于ios - 编程 UITableView 的 didSelectRowAtIndexPath 不响应触摸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29373386/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com