在我的应用中,我的主视图控制器中有两个视图。一个是输入有关预算的详细信息。另一种是查看预算的当前状态。
当在输入视图上点击输入按钮时,该视图向下滑动以显示当前预算视图。
在viewWillAppear中,我有一些代码,如果点击了输入按钮但是视图没有被移动(当应用程序完全关闭并重新打开时会发生这种情况),会执行一些代码。
重置按钮与输入按钮相反,并将视图向上滑动。
问题在于,有时当点击重置按钮时,视图会开始向上滑动,但会在视图底部附近停止。在我更新我的应用程序以使用iPhone 6和iPhone 6 Plus之前,这一切都很有效,所以我认为我的坐标计算有问题。我还没有能够弄明白。以下是它卡住时的样子:
重置按钮:
self.budgetEntryView.hidden = false
resetButtonNav.enabled = false
UIView.animateWithDuration(0.3, delay: 0, options: .CurveLinear, animations: {
self.budgetEntryView.center = CGPointMake(self.budgetEntryView.center.x, self.budgetEntryView.center.y - 500)
}, completion: { (finished:Bool) in
self.budgetDisplayView.hidden = true
viewWillAppear中:
if enterButtonTapped == true && self.budgetEntryView.center.y != 784 {
UIView.animateWithDuration(0.3, delay: 0, options: .CurveLinear, animations: {
self.budgetEntryView.center = CGPointMake(self.budgetEntryView.center.x, self.budgetEntryView.center.y + 500)
}, completion: { (finished:Bool) in self.budgetEntryView.hidden = true })
}
输入按钮:
UIView.animateWithDuration(0.3, delay: 0, options: .CurveLinear, animations: {
self.budgetEntryView.center = CGPointMake(self.budgetEntryView.center.x, self.budgetEntryView.center.y + 500)
}, completion: { (finished:Bool) in self.budgetEntryView.hidden = true })
答案 0 :(得分:0)
一旦我按照建议使用println来解决问题,修复就相当简单了。
基本上,我只需添加视图将在新屏幕尺寸上定位的坐标,如下所示:
if enterButtonTapped == true && self.budgetEntryView.center.y != 784 && self.budgetEntryView.center.y != 868 && self.budgetEntryView.center.y != 740 && self.budgetEntryView.center.y != 833.5 {