ios - UIStackView 中的 Lottie AnimationView 大小不明确

标签 ios swift lottie

我正在尝试将 5 个动画 View 添加到 UIStackView 中,但我遇到布局问题:“AnimationView 的宽度和水平位置不明确”。所以我的 stackView 无法正常工作。 这是我创建动画 View 的函数(我也尝试手动设置动画 View 的框架 - 没有任何反应):

extension AnimationView  {
    public func configureCustomAnimationView(with animation: Animation?, speed: CGFloat) -> AnimationView {
        let animationView = AnimationView()
        animationView.animation = animation
        animationView.animationSpeed = speed
        animationView.translatesAutoresizingMaskIntoConstraints = false
        return animationView
    }
}

在我的 viewController 中,我创建了 5 个动画 View 属性:

    private var starOneAnimation = AnimationView().configureCustomAnimationView(with: Animation.starsAnimation, speed: 1)
    
    private var starTwoAnimation = AnimationView().configureCustomAnimationView(with: Animation.starsAnimation, speed: 1)
    
    private var starThreeAnimation = AnimationView().configureCustomAnimationView(with: Animation.starsAnimation, speed: 1)
    
    private var starFourAnimation = AnimationView().configureCustomAnimationView(with: Animation.starsAnimation, speed: 1)
    
    private var starFiveAnimation = AnimationView().configureCustomAnimationView(with: Animation.starsAnimation, speed: 1)

我的堆栈 View :

    private var starsStack: UIStackView = {
        let starsStack = UIStackView()
        starsStack.alignment = .center
        starsStack.axis = .horizontal
        starsStack.distribution = .equalCentering
        starsStack.translatesAutoresizingMaskIntoConstraints = false
        return starsStack
    }()
    public override func viewDidLoad() {
        super.viewDidLoad()
        starsStack.addArrangedSubview(starOneAnimation)
        starsStack.addArrangedSubview(starTwoAnimation)
        starsStack.addArrangedSubview(starThreeAnimation)
        starsStack.addArrangedSubview(starFourAnimation)
        starsStack.addArrangedSubview(starFiveAnimation)
}

最佳答案

将您的stackView更改为:

private var starsStack: UIStackView = {
    let starsStack = UIStackView()
    starsStack.alignment = .center
    starsStack.axis = .horizontal
    starsStack.distribution = .fillequally
    starsStack.translatesAutoresizingMaskIntoConstraints = false
    return starsStack
}()

关于ios - UIStackView 中的 Lottie AnimationView 大小不明确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66700229/

相关文章:

swift - 初始化 GMSMapView 崩溃

ios - 升级到 Firebase 5 并遇到身份验证问题。无法转换“(用户?,错误?)类型的值

android - 为什么我在 Xamarin Forms for Android 中出现 'AnimationViewRenderer doesn' t 存在于上下文中的错误?

android - 如何纠正 Lottie 文件的文本对齐方式?

下载图像后 iOS 更新表头高度(约束未更新)

ios - 在 Swift 中编码对象

ios - 如何更改 UITextField 的文本选择颜色?

react-native - 类型错误 : undefined is not an object (evaluating 'subscription[nativeEmitterSubscriptionKey]' ) when using animated spinner

objective-c - 带有 UIWebView loadRequest 的 UIActivityIndi​​cator?

ios - iTunes Store 拒绝 114x114 图标