本文介绍了WatchKit将激活()函数。Xcode不喜欢self.view.intertSubview的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我没有任何错误。唯一的问题是我的模拟器里什么都没有显示。我猜这是因为我在有上下文的唤醒中没有任何东西?我确实有self.view.insertSubview(heartSymbol, atIndex: 1)
,但有一个Xcode错误。
http://i.imgur.com/wzOIR2v.png"接口控制器没有名为‘view’的成员"。我也尝试了wakeWithContext()函数中的self.heartSymbol = currentBeatPattern.heartImage
,但仍然没有成功。另外,我现在还没有will Activate()函数,所以暂时可以吗?
在编写这个应用程序的开始阶段,我只想循环浏览NewBeat()函数的if循环中的5个心跳图像,然后将它们显示在心符号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()
}
推荐答案
WKInterfaceController与UIInterfaceController没有直接关系。它没有视图属性。WatchKit根本没有UIView-它有WKInterfaceElement,但没有办法在运行时动态插入它们。所有的界面元素都必须在Xcode的界面生成器面板中设置,尽管您可以在运行时隐藏和显示视图并更改一些设置,如字符串或图像。
这篇关于WatchKit将激活()函数。Xcode不喜欢self.view.intertSubview的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!