我是一名新的 swift 开发人员。我正在使用 glkit 编写代码。我在 GLKViewController 不调用更新方法时遇到问题。请帮我修一下。谢谢你
import GLKit
游戏 Controller 类:GLKViewController{
override func viewDidLoad() {
super.viewDidLoad()
let glkView: GLKView = view as! GLKView
glkView.context = EAGLContext(api: .openGLES2)!
EAGLContext.setCurrent(glkView.context)
}
func update(){
}
override func glkView(_ view: GLKView, drawIn rect: CGRect) {
glClearColor(1, 1, 1, 1)
glClear(GLbitfield(GL_COLOR_BUFFER_BIT))
}
最佳答案
使用委托(delegate)!
- 在您的
ViewController
中,继承GLKViewController
和GLKViewControllerDelegate
。 - 在
viewDidLoad()
中为self.delegate
分配self
- 写出你的
glkViewControllerUpdate(_ controller: GLKViewController)
class ViewController: GLKViewController, GLKViewControllerDelegate {
override func viewDidLoad() {
super.viewDidLoad()
self.delegate = self
....
}
func glkViewControllerUpdate(_ controller: GLKViewController) {
....
....
}
}
关于ios - 未调用 Swift 4 GLKViewController 更新方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49633199/