WatchKit故事板的布局如下
[标签]
[表格]
[按钮]
表最初有10个项目,当单击按钮时,setNumberOfRows将项目计数更新为5,并滚动到顶部。
我有一个问题,就是视图滚动太长而看不到任何内容。看起来滚动发生在更新表行计数之前的视图高度处。在这种情况下,如何滚动到顶部以使顶部标签可见?
class InterfaceController: WKInterfaceController {
@IBOutlet weak var topLabel: WKInterfaceLabel!
@IBOutlet weak var table: WKInterfaceTable!
@IBOutlet weak var button: WKInterfaceButton!
override func awake(withContext context: Any?) {
super.awake(withContext: context)
table.setNumberOfRows(10, withRowType: "MyRowType")
populateRows()
}
func populateRows() {
for row in 0..<table.numberOfRows {
guard let rowController = table.rowController(at: row) as? MyRowController else { break }
rowController.label.setText("Row \(row + 1)")
}
}
@IBAction func onButtonClick() {
table.setNumberOfRows(5, withRowType: "MyRowType")
// This misses the top of the view :(
scroll(to: topLabel, at: .top, animated: true)
}
}