我尝试将其设置为一行(一行中的一组)在单击时变为紫色,当单击一个新行时,它变为紫色,前一个恢复为默认的操作系统颜色。 / p>
当我选择一行时,它会正确变为紫色,但当我点击另一行时,前一行不会恢复到正常的黑色行。
我还想更进一步,使每行5行变成不同的颜色。当选择新行时,每个行组都会恢复为默认的watchOS黑色。
这很有趣,因为默认颜色似乎不是深灰色或黑色。由于主视图bg是黑色,因此黑色基本上与清晰相同。深灰色比默认值轻。
class TableInterfaceController: WKInterfaceController {
@IBOutlet var tableOutlet: WKInterfaceTable!
override func awakeWithContext(context: AnyObject?) {
super.awakeWithContext(context)
let arrayOfObjects = ["ORANGE","PURPLE","BLUE","GRAY","YELLOW"]
tableOutlet.setNumberOfRows(arrayOfObjects.count, withRowType: "row")
for (var i = 0; i < arrayOfObjects.count; i++) {
let row = tableOutlet.rowControllerAtIndex(i) as? RowController
let labelValue = arrayOfObjects[i]
row?.labelOutlet.setText(labelValue)
}
}
override func table(table: WKInterfaceTable, didSelectRowAtIndex rowIndex: Int) {
let row = tableOutlet.rowControllerAtIndex(rowIndex) as? RowController
row?.groupOutlet.setBackgroundColor(UIColor.purpleColor())
if (row!.isSelected) {
row!.isSelected = false
row?.groupOutlet.setBackgroundColor(UIColor.blackColor())
}
else {
row?.isSelected = true
row?.groupOutlet.setBackgroundColor(UIColor.purpleColor())
}
}
class RowController: NSObject {
@IBOutlet var labelOutlet: WKInterfaceLabel!
@IBOutlet var groupOutlet: WKInterfaceGroup!
var isSelected : Bool = false
}
我想要这样
答案 0 :(得分:0)
您需要实施以下更改。
var totalLength = 0;
var prevPos;
var polyline = document.getElementById("polyline");
for (var i = 0 ; i < polyline.points.numberOfItems;i++) {
var pos = polyline.points.getItem(i);
if (i > 0) {
totalLength += Math.sqrt(Math.pow((pos.x - prevPos.x), 2) + Math.pow((pos.y - prevPos.y), 2));
}
prevPos = pos;
}
alert(totalLength);