美文网首页
StackView遇到的坑

StackView遇到的坑

作者: b_walking | 来源:发表于2024-04-19 14:32 被阅读0次

能写一些代码,但是对代码底层的机制并不了解,所以经常导致遇到莫名其妙的问题。今天遇到的问题是,我写了3个scrollView,把它们的位置设定好了,只是装到了stackView里,并让它们等间距排列,但是它们却不显示了,代码如下:

        let aiScrollView.frame = CGRect(x: 10, y: view.frame.size.height - 315, width: view.frame.size.width - 20, height: 52)
        let yinfuScrollView    = UIScrollView(frame: CGRect(x: 10, y: view.frame.size.height - 255, width: view.frame.size.width - 20, height: 50))
        let secondScrollView   = UIScrollView(frame: CGRect(x: 10, y: view.frame.size.height - 195, width: view.frame.size.width - 20, height: 50))

        let stackView = UIStackView(arrangedSubviews: [aiScrollView, yinfuScrollView, secondScrollView])
        view.addSubview(stackView) // 要先添加子视图再写约束
        stackView.translatesAutoresizingMaskIntoConstraints = false
        stackView.bottomAnchor.constraint(equalTo: view.safeAreaLayoutGuide.bottomAnchor, constant: -0).isActive = true
        stackView.leadingAnchor.constraint(equalTo: view.safeAreaLayoutGuide.leadingAnchor, constant: 10).isActive = true
        stackView.trailingAnchor.constraint(equalTo: view.safeAreaLayoutGuide.trailingAnchor, constant: -10).isActive = true
        stackView.heightAnchor.constraint(equalToConstant: 272).isActive = true
        
        stackView.axis = .vertical
        stackView.distribution = .equalSpacing
        stackView.spacing = 5 // 最小间距

我了解了一下stackView的用法,说若是要用equalSpacing这个属性,必须要给每个子view添加约束,我一直不理解什么是约束,我觉得我都把每个子view的位置都写死了,这难道还不叫约束吗?

后来我找到了解决办法,应该在每个子view后面加上这样一句(以aiScrollView为例):

aiScrollView.heightAnchor.constraint(equalToConstant: 52).isActive = true

问题就解决了,原来这个语句才叫约束,那之前写的那个位置语句叫什么呢?不知道,不管了,现在编程语言太复杂了,普通人已经没办法掌握的那么精通了。

相关文章

  • StackView

    Android中StackView的使用Android StackView用法

  • StackView使用(堆叠列表)

    目录 StackView StackView也是AdapterViewAnimator的子类,它也用于显示Adap...

  • StackView卡片堆叠

    一、认识StackView StackView也是AdapterView Animator的子类,它也用于显示Ad...

  • UIStackView

    UIStackView: 只需要对StackView布局设置,StackView里面的东西自动布局管理 好的文章

  • StackView

    我的博客, 各位看官有时间赏光 UIStackView UIStackView介绍 随着autolayout的推广...

  • StackView

    StackView 心情不是很好,也抬不起太大的兴趣来写代码。随便拿了个之前写的代码做个小小的讲解。 Reason...

  • StackView

    StackView学习 自适应、适配、布局这几个关键词一直伴随着iOS开发,从以前的单一尺寸屏幕,到现在的多尺寸屏...

  • StackView

    stackView也是AdapterViewAnimator的子类,它显示Adapter提供的一系列View,St...

  • UIStackView属性图

    看RW的StackView教程笔记。

  • StackView使用问题

    StackView隐藏其子视图时发生约束冲突StackView在隐藏它的子view时,会使子view高度约束为0 ...

网友评论

      本文标题:StackView遇到的坑

      本文链接:https://www.haomeiwen.com/subject/pscuxjtx.html