WKInterfaceTable不创建行
问题描述:
我正在尝试用表创建一个简单的WatchKit应用程序。每一行都有一个标签。这是我的TableRowController类:WKInterfaceTable不创建行
import WatchKit
class TaskTableRowController: NSObject {
@IBOutlet var taskName: WKInterfaceLabel!
}
在我InterfaceController,我行添加到我的表并尝试设置标签的文本。但是,taskList.rowController(at:0)没有找到一行,所以Label未被修改。
import WatchKit
import Foundation
class InterfaceController: WKInterfaceController {
@IBOutlet var taskList: WKInterfaceTable!
override func awake(withContext context: Any?) {
super.awake(withContext: context)
// Configure interface objects here.
taskList.setNumberOfRows(1, withRowType: "TaskRow")
if let x = taskList.rowController(at: 0) as? TaskTableRowController
{
x.taskName.setText("Hello World")
}
}
override func willActivate() {
// This method is called when watch view controller is about to be visible to user
super.willActivate()
}
override func didDeactivate() {
// This method is called when watch view controller is no longer visible
super.didDeactivate()
}
}
答
替换下面的代码,它为我:
taskList.setNumberOfRows(10, withRowType: "TaskRow")
for index in 0..<taskList.numberOfRows {
if let controller = taskList.rowControllerAtIndex(index) as? TaskTableRowController {
controller.taskName.setText("Hello World")
}
}
我已经看到了屏幕截图,但PL。交叉检查&确保以下几点:
WKInterfaceLabel
(TASKNAME)在您TaskTableRowController
的IBOutlet
。TaskTableRowController
标识符设置为 为'TaskRow'。WKInterfaceTable
(taskList)有一个IBOutlet。设置了行'TaskTableRowController'的自定义类。
希望它可以帮助你!
如果您有任何疑问,请告诉我。
看看这个教程https://www.appcoda.com/selectable-table-watchkit/ – Dmitry
@csstudent请检查下面的答案... –
你检查下面的代码它适用于我。 –