通过教程更新的非官方watchOS-第4章:UI控件

非官方watchOS通过教程更新主页

p。 80个 watchOS具有超过19个控件。 请参阅第3章。

入门

由于watchOS开发的基础已经稳定,因此本章中的代码很少需要更改。 但是,让我趁此机会做个旁注,因为它与v3.01示例代码略有不同。 是的,我缩进了四个空格🙂

旁注我习惯使用以下方式标记代码:

  // MARK:-[description] 

我是从Udacity iOS开发人员纳米学位的导师那里学到的。 连字符很重要; 您会在轮廓中得到漂亮的分隔线。

这是不带连字符的结果:

这是带有连字符的MARK:

计时器对象

定时器接线

使用标签和按钮控制重量

p。 92我将最小和最大重量值实现MeatTemperature.swift中的 static let常数。 在查看下面的我的实现之前,请尝试自己做。

我在MeatTemperature.swift中添加了以下内容:

 结构常数{ 
结构重量{
静态让minOunces = 1
静态让maxOunces = 32
}
}

(最大32值不一定是您在生产应用中想要的,因为用户可能会希望烹饪更多的肉,但是选择该值以匹配第5章中的文字)

然后我将其添加到updateConfiguration()的顶部

 如果盎司<Constants.Weight.minOunces { 
盎司= Constants.Weight.minOunces
}否则,如果盎司> Constants.Weight.maxOunces {
盎司= Constants.Weight.maxOunces
}

使用滑块对象控制完成

集成计时器

与滚动互动

使用开关更改单位

p。 98我在MeatTemperature.swift中添加了两个新常量

 结构常数{ 
结构重量{
静态让minOunces = 1
静态让maxOunces = 700
静态让克PerOunce = 28.3495
静态let oz =“ oz”
静态让克=“ g”
}
}

因此,我完成的updateConfiguration()的内容是

 如果盎司<Constants.Weight.minOunces { 
盎司= Constants.Weight.minOunces
}否则,如果盎司> Constants.Weight.maxOunces {
盎司= Constants.Weight.maxOunces
}
// 1
cookLabel.setText(cookTemp.stringValue)
var重量=盎司
var单位= Constants.Weight.oz
如果usingMetric {
// 2
令克=双(盎司)* 28.3495
重量=整数(克)
单位= Constants.Weight.grams
}
// 3
weightLabel.setText(“ Weight:\(weight)\(unit)”)

然后去哪儿?