【问题标题】:Specify different spacing between arrangedSubviews of stackview指定stackview的arrangedSubviews之间的不同间距
【发布时间】:2020-07-16 07:27:25
【问题描述】:

我的登录视图是用 stackview 设计的。 stackview 有五个视图(分段控件、两个文本字段和两个按钮)

我将对齐设置为填充,分布设置为按比例填充。但是,我无法更改子视图之间的间距。

现在间距是 10,但我希望分段控件和第一个 textField 之间的间距为 20,“登录”按钮和“忘记密码?”之间的间距为 5。按钮。

我知道我可以删除堆栈视图并使用自动布局来实现我想要的定位,但我想使用堆栈视图来控制旋转期间的视图。

谁能帮帮我。

【问题讨论】:

  • 你不能。这不是在 stackView 内的视图之间提供不同间距的选项。您也可以移动 segmentControl 和“忘记密码?” stackView 中的按钮。
  • @Natasha 你可能不得不用你自己的逻辑从你身边进行管理。我将为您提供一种获取 UIView 的方法,并在 UIView 中添加您需要使用的其他控件。并设置 ui 视图背景颜色清晰。

标签: swift autolayout uistackview


【解决方案1】:

UIStackView 有一个在指定视图之后应用自定义间距的实例方法。

func setCustomSpacing(_ spacing: CGFloat, 
                after arrangedSubview: UIView)

stackView.setCustomSpacing(20, after: segmenteControl)

【讨论】:

    【解决方案2】:

    您可以做的是在 stackView 中添加缓冲视图以在两个视图之间获得更多空间......清除该缓冲视图背景颜色并根据您的设置固定其高度。需求

    【讨论】:

      猜你喜欢
      • 2021-11-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-14
      • 2019-10-18
      • 1970-01-01
      相关资源
      最近更新 更多