为什么每次更改方向时都会调用两次? 这是一个错误还是?
当我无效地覆盖setSize
时,甚至会被调用。
答案 0 :(得分:1)
这不是错误。这是一种正确的行为。
- (void)didChangeSize:(CGSize)oldSize
每当场景的大小改变时,都会调用。旋转设备时,这显然会发生。它也可能是您在轮换发生后调用一些代码来触发大小更改,这就是您看到didChangeSize
被调用两次的原因。
答案 1 :(得分:0)
我的解决方案是覆盖 setter。在 Objective-C 中,您只需覆盖 bind = '0.0.0.0:8080'
accesslog = '-'
access_log_format = '%(h)s %(l)s %(u)s %(t)s "%(r)s" %(s)s %(b)s "%(f)s" "%(a)s" in %(D)sµs'
并且不要忘记调用 -setSize:
。在 Swift 中,您可以覆盖 super
变量并实现 size
:
didSet
就我而言(Swift UI SpriteView)override var size: CGSize {
didSet {
print("didSetSize:", size)
}
}
每次更改被调用两次,而 didSet - 只调用一次。我的控制台日志如下:
didChangeSize