【问题标题】:Divide stackview in three subviews with a dashed divider line?用虚分隔线将stackview划分为三个子视图?
【发布时间】:2017-11-23 13:58:13
【问题描述】:

我正在尝试将 UIStackView 介绍分成三个单独的子视图,并用虚线将它们分开。我知道您可以在 UIStackView 上设置间距,但据我所知,您无法将该间距更改为虚线。

基本上,我希望我的三个子视图能够在不同的设备尺寸上正确缩放,但虚线在它们之间总是很小。为了清楚起见,我试图实现的结果如下所示:

希望有人能指出正确的方向,提前谢谢!

【问题讨论】:

  • 你应该在stackview中取三个UIView并均匀填充,你可以将虚线作为子视图添加到左侧和中心uiview

标签: ios xcode uistackview


【解决方案1】:

您可以将 3 个视图限制为相等的宽度,然后添加几个限制为恒定宽度的分隔视图。

let stackView = UIStackView()
stackView.axis = .horizontal
self.view.addSubview(stackView)

let view1 = UIView()
view1.backgroundColor = .red
stackView.addArrangedSubview(view1)

let separator1 = UIView()
separator1.backgroundColor = .black
stackView.addArrangedSubview(separator1)
separator1.widthAnchor.constraint(equalToConstant: 1).isActive = true

let view2 = UIView()
view2.backgroundColor = .green
stackView.addArrangedSubview(view2)
view2.widthAnchor.constraint(equalTo: view1.widthAnchor, multiplier: 1).isActive = true

let separator2 = UIView()
separator2.backgroundColor = .black
stackView.addArrangedSubview(separator2)
separator2.widthAnchor.constraint(equalToConstant: 1).isActive = true

let view3 = UIView()
view3.backgroundColor = .blue
stackView.addArrangedSubview(view3)
view3.widthAnchor.constraint(equalTo: view1.widthAnchor, multiplier: 1).isActive = true

【讨论】:

  • 这太简单了,太漂亮了。我刚刚尝试实施 [动态线] - [固定大小的点] - [动态线] - [固定大小的点] 30 分钟没有成功,直到我看到这个。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-05
  • 2021-02-18
  • 1970-01-01
  • 2014-11-21
  • 2022-01-10
  • 1970-01-01
相关资源
最近更新 更多