Ios 默认情况下在单元格上启用heckmarks?只是用更多观察更新了问题。否,默认情况下不在单元格上启用复选标记。此tableview是此视图控制器中唯一的tableview。我感觉“allowsMultipleSelection”属性未设置为true。但是我
Ios 默认情况下在单元格上启用heckmarks?只是用更多观察更新了问题。否,默认情况下不在单元格上启用复选标记。此tableview是此视图控制器中唯一的tableview。我感觉“allowsMultipleSelection”属性未设置为true。但是我,ios,uitableview,swift3,Ios,Uitableview,Swift3,默认情况下在单元格上启用heckmarks?只是用更多观察更新了问题。否,默认情况下不在单元格上启用复选标记。此tableview是此视图控制器中唯一的tableview。我感觉“allowsMultipleSelection”属性未设置为true。但是我假设你是通过故事板设置的?谢谢Andrey-我最终在属性检查器中设置了allowMultipleSelection属性。现在,日志确认按相同的按钮在调用tableView:didSelectRowAt:和tableView:didSelectR
默认情况下在单元格上启用heckmarks?只是用更多观察更新了问题。否,默认情况下不在单元格上启用复选标记。此tableview是此视图控制器中唯一的tableview。我感觉“allowsMultipleSelection”属性未设置为true。但是我假设你是通过故事板设置的?谢谢Andrey-我最终在属性检查器中设置了allowMultipleSelection属性。现在,日志确认按相同的按钮在调用tableView:didSelectRowAt:和tableView:didSelectRowAt:之间交替,但是,当调用tableView:didSelectRowAt时,复选标记不起作用。我还缺少什么?谢谢Andrey-我最终在属性检查器中设置了allowMultipleSelection属性。现在,日志确认按相同的按钮在调用tableView:didSelectRowAt:和tableView:didSelectRowAt:之间交替,但是,当调用tableView:didSelectRowAt时,复选标记不起作用。我还缺什么?
@objc class SomeViewController: UIViewController, NSFetchedResultsControllerDelegate, UITableViewDataSource, UITableViewDelegate {
var deviceArray:[Device] = []
// [perform a fetch]
// [insert fetch results into deviceArray to be displayed in the tableview]
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "customcell", for:
indexPath)
// Set up the cell
let device = self.deviceArray[indexPath.row]
cell.textLabel?.text = device.name
return cell
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
self.tableView(tableView, cellForRowAt: indexPath).accessoryType = UITableViewCellAccessoryType.checkmark
NSLog("Selected Row")
}
func tableView(_ tableView: UITableView, didDeselectRowAt indexPath: IndexPath) {
self.tableView(tableView, cellForRowAt: indexPath).accessoryType = UITableViewCellAccessoryType.none
NSLog("Deselected Row")
}
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
//Notice I use tableView being passed into func instead of self.tableView
guard let cell = tableView.cellForRow(at: indexPath) else {
return
}
cell.accessoryType = .checkmark
}
func tableView(_ tableView: UITableView, didDeselectRowAt indexPath: IndexPath) {
guard let cell = tableView.cellForRow(at: indexPath) else {
return
}
cell.accessoryType = .none
}