我想用我的视图执行基于交互式手势的动画,需要将屏幕中心的视图移动到屏幕的左上角。我似乎无法插入两个不同x/y约束的位置(只改变常量)之间插入,所以作为替代方案,我想也许我可以在故事板中布置视图,然后通过直接更改框架来制作动画。有没有一个好的方法来做到这一点,或者这是一个坏主意?我可以在故事板中使用自动布局来放置我的视图,然后禁用约束?
1
A
回答
1
你不需要删除他们!只要停用它们就足够了。
如果你看过文档,你应该知道UIView
的constraints
属性返回它作为[NSLayoutConstraint]
的约束条件。你只需要遍历这个数组并停用所有约束!
for constraint in someView.constraints {
constraint.active = false
}
或者使用forEach
:
someView.constraints.forEach { $0.active = false }
停用的约束,而不是删除它们,你可以再次激活它们很容易,当你需要它的优势。
0
如果我是你,我会选择动画约束。即使由于某种原因无法更改约束常数,仍然可以删除以前的约束并添加一个新的约束。 要做到这一点,您需要:
- 保持到要更改
- 从视图
- 设置新的限制去掉,将其添加到视图约束参考
- 保持这种新的约束
动画的参考用:
UIView.animateWithDuration(0.5){ self.view.layoutIfNeeded () }
相关问题
- 1. 禁用约束故事板
- 2. 故事板禁用我的视图
- 3. iOS故事板布局 - 约束查询
- 4. 我可以在Interface Builder中移动自动布局约束吗?
- 5. 的Xcode 6.3故事板自动布局约束
- 6. 无法在桌面视图中使用自动布局约束
- 7. 自动布局约束未正确放置容器视图
- 8. iOS - 使用故事板和自动布局来集中UIScrollView
- 9. 用于设置自动布局约束的iOS视图层次
- 10. 在代码中修改故事板自动布局约束的最佳做法?
- 11. 更改故事板中的超视图后保持自动布局约束条件
- 12. 在故事板上启用了自动布局,但我仍然收到AutolayoutMaskContraints
- 13. 以编程方式使用约束来布局多个视图
- 14. iOS:使用故事板中的自动布局进行图像缩放
- 15. 不使用自动布局的约束?
- 16. 我可以在运行时禁用特定子视图的自动布局吗?
- 17. 我无法使用滚动视图来处理故事板
- 18. 使用故事板中的自动布局更改横向视图框架
- 19. 以编程方式禁用自动布局约束
- 20. 您可以使用自动布局添加派生约束吗?
- 21. 我在哪里可以在故事板中放置一个loginView?
- 22. 是否可以使用带有选中自动布局的故事板中的uiscrollview设计视图?
- 23. 使用自动布局约束动态创建视图?在Objective-C中?
- 24. 使用自动换行符在Android布局中放置视图
- 25. 为什么isnt XCode 5无法在故事板中添加约束条件,因为我使用自动布局移动视图
- 26. 当我的故事板主要以自动布局为基础时,在我的故事板中使用UIScrollViews时,我的最佳做法是什么?
- 27. 我如何设置自动布局约束的UITextView的
- 28. 自动布局约束不受重视
- 29. 我可以使用故事板在UIViewController中嵌入UINavigationController的视图吗?
- 30. 用自动布局和约束来改变位置
这是forEach语句的工作原理吗? $ 0是什么意思? – GoldenJoe
@GoldenJoe这是编写'for in'循环的另一种方式。看到我在'for in'循环中声明的变量'constraint'? 'forEach'闭包中的'$ 0'具有大致相同的含义。如果你觉得这对你来说太过于实用,那就坚持'for in'循环。 – Sweeper
@GoldenJoe它适合你吗?如果确实如此,请考虑接受答案。 – Sweeper