禁用 WatchKit TableRow 的选择

Disable Selection For WatchKit TableRow

也许我忽略了 Apple 文档中的正确用法,但我正试图找出如何以编程方式仅禁用 WatchKit 中的某些行 table。

我在 Interface Builder 中看到可以让整个 TabRowController 选择 table 或不选择(基于 NSObject isSelectable 协议),但我似乎无法辨别如何禁用仅点击特定行的功能。

InterfaceController.swift

...
for (index, file) in files.enumerate() {
        if let row = fileTable.rowControllerAtIndex(index) as? FileTableRowController {

            row.fileLabel.setText(file.fileName)


            if file.fileType == "file" {
            row.something.isSelectable = false
            }

        }
... 

有没有人成功地实现了禁用行的 isSelectable 状态的能力?

不,WatchKit 目前不支持它。您所能做的就是 enable/disable 故事板中的整个 table 行。你能做的最好的事情就是使用

func table(_ table: WKInterfaceTable, didSelectRowAtIndex rowIndex: Int)

确定在选择一行时要采取的操作。