【发布时间】:2016-01-10 12:03:03
【问题描述】:
目前正在开发一些快速程序,我有一个号召性用语,我从超级视图中删除了一个模糊视图,同时我正在为 2 个按钮设置动画。
一切正常,但有一个小问题。当我从我的超级视图中删除模糊视图时,我的 2 个按钮上的约束在底部设置为 0 并从该位置开始动画。
我不希望它们变为 0。如果我不删除模糊视图,我的动画效果会很好。我检查了我的按钮约束是否与模糊视图相关,但事实并非如此。因为我认为它只能在我的约束相对于模糊视图时重置我的约束。
我的故事板如下所示:
view
|-> camera_view
|-> blur_view
|-> record_label
|-> record_button
我正在执行的代码如下:
@IBAction func recordButton(sender: AnyObject) {
self.blurView?.removeFromSuperview()
UIButton.animateWithDuration(0.3, delay: 0.2, options: .CurveEaseOut, animations: {
var recordButtonFrame = self.recordButton.frame
var recordLabelFrame = self.recordLabel.frame
recordButtonFrame.origin.y -= recordButtonFrame.size.height
recordLabelFrame.origin.y -= recordLabelFrame.size.height
self.recordButton.frame = recordButtonFrame
self.recordLabel.frame = recordLabelFrame
}, completion: { finished in
print("Button moved")
})
}
我做错了什么?
亲切的问候,
沃特
【问题讨论】:
-
self.blurView?.hidden = true
-
谢谢它解决了我的问题。忘了那个。它仍然以这种方式留在记忆中吗?如果我再次需要 blurview 的实例,这种方式会更快,但如果我不需要它会更慢?
-
是的,如果你只是隐藏它,它将保留在内存中。也许您可以先将其隐藏,然后在动画完成后将其删除。
标签: ios swift animation constraints xcode-storyboard