在垂直UIStackView中创建水平分隔符

时间:2017-02-28 15:12:16

标签: xamarin.ios uistackview

我有一个垂直堆栈视图,其中包含许多水平堆栈视图。如何在水平堆栈视图之间创建1px分隔线?

2 个答案:

答案 0 :(得分:0)

只需在水平堆栈视图中的两个最中间控件之间添加宽度为1-2px且高度与每个水平堆栈视图相同的UIView。假设没有顶部或底部间距,它会给出垂直线没有断裂的印象,或者如果你不介意垂直线上的断裂,那么不要担心去除顶部或底部间距。

OR

你可以利用UIStackView可以获取子视图的事实,并且只计算中心x,并且y为0,添加一个2px宽的UIView作为UIStackView的子视图。

类似的东西:

        UIStackView sv = new UIStackView();
        UIView ViewLine = new UIView();
        ViewLine.Frame = new CGRect(CentreX, 0 , 2f , heightofstackview );
        sv.AddSubview();

答案 1 :(得分:0)

您可以创建分隔符视图:

类SeparatorView:UIView {

init() {
    super.init(frame: .zero)
    setUp()
}

override init(frame: CGRect) {
    super.init(frame: frame)
    setUp()
}

required init?(coder: NSCoder) {
    fatalError("init(coder:) has not been implemented")
}

private func setUp() {
    backgroundColor = .gray
}

override var intrinsicContentSize: CGSize {
    return CGSize(width: UIView.noIntrinsicMetric, height:0.5)
}

}

并将其添加到水平视图之间的StackView中:

stackView.addArrangedSubview(horizontalView)
stackView.addArrangedSubview(SeparatorView())

这将创建一条灰色的细线分隔视图。