Размер LottieAnimationView не изменится / слишком мал (iOS / Swift) - PullRequest
0 голосов
/ 04 июля 2018

Независимо от того, создаю ли мое представление LOTAnimatedSwitch или View, изображение анимации всегда выглядит очень маленьким. Анимация лотереи не соответствует размеру создаваемого мною представления. Это проблема с загрузкой анимации из LottieFiles? Размеры файла составляют 600x600 пикселей. Я использую Lottie версии 2.5.0 и Swift 4. Например:

enter image description here

    let animatedSwitch = LOTAnimatedSwitch(named: "toggle_switch")
    animatedSwitch.frame.origin = CGPoint(x: 8, y: separatorLineView.frame.height + separatorLineView.frame.origin.y + 8)
    animatedSwitch.frame.size = CGSize(width: dialogViewWidth - 16, height: 40)
    animatedSwitch.setProgressRangeForOnState(fromProgress: 0.5, toProgress: 1)
    animatedSwitch.setProgressRangeForOffState(fromProgress: 0, toProgress: 0.5)
    animatedSwitch.contentMode = .scaleAspectFill
    animatedSwitch.clipsToBounds = true
    animatedSwitch.backgroundColor = .purple

Ответы [ 2 ]

0 голосов
/ 07 июля 2018

Проблема была в файле, который я скачал с LottieFiles. Чтобы анимация / значок не были небольшими, я масштабировал размер композиции в Adobe After Effects, чтобы уместить ее в рамке предварительного просмотра. Я экспортировал файл .aeb в .json, используя плагин bodymovin.

Ответ Хардика также был полезен. Проблема была в том, что в загруженном мною файле было много свободного места вокруг самой иконки, пока я не увеличил изображение.

0 голосов
/ 06 июля 2018

Попробуйте этот код, я не уверен, что это поможет в вашем случае

let animatedSwitch = LOTAnimatedSwitch(named: "toggle_switch")
animatedSwitch.frame = CGRect(x: 0, y: 0, width: 200, height: 200)
animatedSwitch.center = self.view.center
animatedSwitch.setProgressRangeForOnState(fromProgress: 0.5, toProgress: 1)
animatedSwitch.setProgressRangeForOffState(fromProgress: 0, toProgress: 0.5)
self.view.addSubview(animatedSwitch)
self.view.backgroundColor = UIColor.lightGray
...