我没有错误。唯一的问题是我的模拟器中没有任何显示。我猜它是因为我在awakeWithContext中没有任何东西?我确实有self.view.insertSubview(heartSymbol, atIndex: 1)
但是有一个Xcode错误。
http://i.imgur.com/wzOIR2v.png" InterfaceController没有名为' view'"的成员。我也在awakeWithContext()函数中尝试了self.heartSymbol = currentBeatPattern.heartImage
但仍然没有运气。此外,我现在还没有willActivate()函数,所以现在还可以吗?
在编写此应用程序的开始阶段,我只想循环遍历newBeat()函数中if循环中的5个heartImages,然后在heartSymbol IBOutlet中显示它们。
import WatchKit
import Foundation
struct BeatPattern {
var heartImage = WKInterfaceImage()
var description = "Normal"
var bpm = 80
var duration: Double {
return 60.0 / Double(bpm)
}
}
class InterfaceController: WKInterfaceController {
@IBOutlet weak var heartSymbol: WKInterfaceImage!
var currentBeatPattern = BeatPattern()
var currentBeatPatternIndex = 0
var beatPatternsArray = [
BeatPattern(heartImage: redHeartFast, description: "Fast", bpm: 180),
BeatPattern(heartImage: yellowHeartElevated, description: "Elevated", bpm: 140),
BeatPattern(heartImage: greenHeartNormal, description: "Normal", bpm: 80)]
override func awakeWithContext(context: AnyObject?) {
super.awakeWithContext(context)
self.view.insertSubview(heartSymbol, atIndex: 1) // Error
}
override func willActivate() {
super.willActivate()
}
override func didDeactivate() {
// This method is called when watch view controller is no longer visible
super.didDeactivate()
newBeat()
NSTimer.scheduledTimerWithTimeInterval(8,
target: self,
selector: Selector("newBeat"),
userInfo: nil,
repeats: true)
//beat()
}
答案 0 :(得分:0)
WKInterfaceController与UIInterfaceController没有直接关系。它没有视图属性。 WatchKit根本没有UIViews - 它有WKInterfaceElements,但没有办法在运行时动态插入它们。您必须在Xcode的Interface Builder窗格中设置所有界面元素,尽管您可以在运行时隐藏和显示视图并更改一些设置,如字符串或图像。