zoukankan      html  css  js  c++  java
  • 在使用代码配置UIStackView遇到的子视图被拉伸的问题, 直接使用storyBoard时子视图不被拉伸

       @property (nonatomic, strong) NSMutableArray<HomeActionButton *> *actions;


    self.stackView = [[UIStackView alloc] initWithArrangedSubviews:self.actions]; self.stackView.frame = self.bounds; self.stackView.spacing = UIStackViewSpacingUseDefault; self.stackView.alignment = UIStackViewAlignmentTop; self.stackView.axis = UILayoutConstraintAxisHorizontal; self.stackView.distribution = UIStackViewDistributionEqualSpacing; [self addSubview:self.stackView];

    设置了stackView的space等分, 但是在页面上出现HomeActionButton被拉伸的情况, 找了半天没找到问题所在,

    无奈之下 去看了官方的文档, 

    找到了问题所在:

    上面有一个关键的信息: intrinsicContentSize 需要我们提供子视图的Size信息, 否则他就会根据stackView自己的规则来拉伸子视图

    然后在HomeActionButton类中重写intrinsicContentSize 这个方法 就好了

    /// the stack view uses each arranged view’s intrinsicContentSize property when calculating its size along the stack’s axis.
    - (CGSize)intrinsicContentSize {
        return CGSizeMake(k_home_action_button_w, k_home_action_button_h);
    }
  • 相关阅读:
    转载-如何高效的学习技术
    Lc176-第二高的薪水
    Lc4-寻找两个有序数组的中位数
    Lc175-组合两个表
    Lc3-无重复字符的最长子串
    Lc2-俩数相加
    Lc1- 两数之和
    jpa-子查詢
    20191225页面样式
    leetcode二刷结束
  • 原文地址:https://www.cnblogs.com/majinyu888/p/13206302.html
Copyright © 2011-2022 走看看