ios - 如何在不重新加载的情况下从 super View 中删除 View ?

标签 ios swift uiview subview superview

我有一个游戏,我想移除一个障碍。但是当我这样做时, View 会完全刷新自己。但我希望其他 subview 保留在它们所在的位置。

要删除我使用的这个 subview :

obstacles.removeFromSuperview()

然后它在屏幕上消失,但之后所有其他 subview 都设置为它们的原始位置..

是否有其他方法,或者我是否必须保存位置并在重新加载后重新设置?这不会看起来很糟糕并且有错误吗?

顺便说一句,当我将我的 View 添加到 subview 时,它是一个 let。不知道它是否重要..

最佳答案

如果其他 subview 移动,则意味着它们的位置取决于您删除的 View 。使用自动布局时要考虑到 removeFromSuperview 会删除任何引用您正在删除的 View (或其 subview )的约束。

关于ios - 如何在不重新加载的情况下从 super View 中删除 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35681000/

相关文章:

android - 什么是 eCpm 填充率 rpm

swift - 为什么需要在 Swift 中为 UIViewController 子类添加空构造函数

ios - 编程多行混合 uiview 类型文本

ios - 动画持续时间 :delay:options:animations:completion: not working (strangely)

objective-c - 潜在泄漏,将 NSString-Property 分配给 UILabel

ios - 在 Swift 中使用 UIPageViewController 水平滚动 ViewControllers 的按钮

ios - 有没有办法从共享扩展打开主机应用程序?

object - Swift 'AnyObject' 没有名为 "make"的成员

ios - 无法隐藏自定义 subview

ios - WatchKit 扩展 : Page-based hierarchy for glances