IOS 错误的动画显示
IOS wrong animation displaying
我有一个高度为 increasing/decreasing 的动画(用于隐藏和显示 UIDatePicker)。增加它应该的工作,但我有一些减少的问题。 UIDatePicker 缩小并且动画几乎从顶部开始,接近过程结束,并开始延迟减少。但如果包括延迟,它仍然需要与增加相同的时间。
增加UIDatePicker
开始减少
我的 viewWillLayoutSubviews() 方法
override func viewWillLayoutSubviews() {
super.viewWillLayoutSubviews()
frameDatePicker = remindDatePicker.frame
zeroFrameDatePicker = CGRect(x: (frameDatePicker?.origin.x)!, y: (frameDatePicker?.origin.y)!, width: (frameDatePicker?.width)!, height: 0)
if reminderSwitch.isOn {
remindDatePicker.frame = frameDatePicker!
} else {
remindDatePicker.frame = zeroFrameDatePicker!
}
}
我的 showDatePicker() 动画方法
func showDatePicker() {
UIView.animate(withDuration: animateTime, animations: {
self.remindDatePicker.frame = self.frameDatePicker!
})
}
我的 hideDatePicker() 动画方法
func hideDatePicker() {
UIView.animate(withDuration: animateTime, animations: {
self.remindDatePicker.frame = self.zeroFrameDatePicker!
})
}
我怀疑这里真正的问题是选择器(例如日期选择器)的高度不是零(或者任何非常小的高度,真的)。如果我是你,我会想出一种完全不同的方法来使这个选择器进入和退出可见存在。
Apple 在类似日历应用程序中所做的是将选择器保持在其正常的固定高度,但会增大和缩小其超级视图,其 clipsToBounds
为真。因此,选择器似乎会变大和变小,但实际上并非如此。
我有一个高度为 increasing/decreasing 的动画(用于隐藏和显示 UIDatePicker)。增加它应该的工作,但我有一些减少的问题。 UIDatePicker 缩小并且动画几乎从顶部开始,接近过程结束,并开始延迟减少。但如果包括延迟,它仍然需要与增加相同的时间。
增加UIDatePicker
开始减少
我的 viewWillLayoutSubviews() 方法
override func viewWillLayoutSubviews() {
super.viewWillLayoutSubviews()
frameDatePicker = remindDatePicker.frame
zeroFrameDatePicker = CGRect(x: (frameDatePicker?.origin.x)!, y: (frameDatePicker?.origin.y)!, width: (frameDatePicker?.width)!, height: 0)
if reminderSwitch.isOn {
remindDatePicker.frame = frameDatePicker!
} else {
remindDatePicker.frame = zeroFrameDatePicker!
}
}
我的 showDatePicker() 动画方法
func showDatePicker() {
UIView.animate(withDuration: animateTime, animations: {
self.remindDatePicker.frame = self.frameDatePicker!
})
}
我的 hideDatePicker() 动画方法
func hideDatePicker() {
UIView.animate(withDuration: animateTime, animations: {
self.remindDatePicker.frame = self.zeroFrameDatePicker!
})
}
我怀疑这里真正的问题是选择器(例如日期选择器)的高度不是零(或者任何非常小的高度,真的)。如果我是你,我会想出一种完全不同的方法来使这个选择器进入和退出可见存在。
Apple 在类似日历应用程序中所做的是将选择器保持在其正常的固定高度,但会增大和缩小其超级视图,其 clipsToBounds
为真。因此,选择器似乎会变大和变小,但实际上并非如此。