Используя метод Ramp(toVideoZoomFactor:withRate:), я пытаюсь создать функция, которая плавно переходит от коэффициента масштабирования 1x к 3x в течение 0,25 секунды. Затем в другой функции переход от коэффициента масштабирования 3x обратно к коэффициенту масштабирования 1x в течение 0,25 секунды.
Я попробовал диапазон значений withRate и получаю неожиданные результаты, причем очень медленно. масштабирование камеры.
Документация:
https://developer.apple.com/documentati ... withrate:)
Код:< /p>
Код: Выделить всё
func cameraZoomIn() {
if let deviceCameraSelected = deviceCameraSelected {
do {
try deviceCameraSelected.lockForConfiguration()
try deviceCameraSelected.ramp(toVideoZoomFactor: 3, withRate: 0.25)
deviceCameraSelected.unlockForConfiguration()
} catch {
print("Error: \(error)")
}
}
}
func cameraZoomOut() {
if let deviceCameraSelected = deviceCameraSelected {
do {
try deviceCameraSelected.lockForConfiguration()
try deviceCameraSelected.ramp(toVideoZoomFactor: 1, withRate: 0.25)
deviceCameraSelected.unlockForConfiguration()
} catch {
print("Error: \(error)")
}
}
}
1. Каково правильное значение withRate для достижения коэффициента масштабирования 1x до 3x в течение 0,25 секунды и коэффициент масштабирования от 3x до 1x в течение 0,25 секунды?
2. В документации говорится, что переход масштабирования является визуально линейным переходом, но как я могу получить кривую перехода, которая CurveEaseInOut похож на обычные переходы UIView.animate?
Подробнее здесь: https://stackoverflow.com/questions/793 ... for-iphone