【发布时间】:2015-08-16 21:40:07
【问题描述】:
刚开始学习 Swift,跟随优秀的UIGestureRecognizer tutorial on Ray Wenderlich's site。它有两个图像,您可以四处移动(平移)和缩放(捏合)和旋转。工作正常。
但后来我尝试通过在主视图中添加一个平移手势识别器来扩展它,这样我就可以一次平移“场景”。以与两个图像相同的方式将其连接到 ViewController。哪个有效,但每次您在主视图中平移时,它重置其他对象的位置,即它们移回运行开始时的位置,忘记您可能移动的位置他们去。
这是一个 AutoLayout 问题(如线程 UILabel causing other objects to reset position on iOS 中所述)。 (虽然我觉得这很奇怪,因为根本没有限制。无论如何。)
关闭自动布局确实可以防止任何重置发生,但是...... 最终出于其他原因我想使用 AutoLayout 构建应用程序,所以我想使用 AutoLayout 来做。
所以,根据UIView frames reset when using autolayout 向 viewDidLoad() 添加了一些代码, 即在情节提要中,我从“主视图”对象控制拖动到 ViewController.swift 的助手编辑器中,一行显示
@IBOutlet var mainView: UIView!
然后在我的 viewDidLoad 中,我添加了
mainView.translatesAutoresizingMaskIntoConstraints = true
但这没有任何效果,即重置行为仍然发生。 :-( 不会生成有关“无法同时满足约束”的警告。
有什么帮助吗?谢谢。运行 XCode 7 beta 5。
【问题讨论】:
-
如果问题已经解决,为什么还要发布?如果您认为它可能对其他人有所帮助,请仅发布问题(作为真实问题)并发布答案和实际答案。
-
好的,将尝试进行相应的编辑...
标签: ios xcode swift uiview autolayout