Xamarin.ios 在垂直视图中创建水平分隔符
我有一个垂直堆栈视图,其中包含许多水平堆栈视图。如何在水平堆栈视图之间创建1px分隔线?只需在水平堆栈视图的两个最中间控件之间添加一个UIView,该UIView的宽度为1-2px,高度与每个水平堆栈视图相同。假设没有顶部或底部间距,则会给人一种垂直线没有中断的印象,或者如果您不介意垂直线中的中断,则无需担心删除顶部或底部间距 或 您可以利用UIStackView可以获取子视图的事实,只需计算出中心x,y为0时,添加一个2px宽的UIView作为UIStackView的子视图 比如:Xamarin.ios 在垂直视图中创建水平分隔符,xamarin.ios,uistackview,Xamarin.ios,Uistackview,我有一个垂直堆栈视图,其中包含许多水平堆栈视图。如何在水平堆栈视图之间创建1px分隔线?只需在水平堆栈视图的两个最中间控件之间添加一个UIView,该UIView的宽度为1-2px,高度与每个水平堆栈视图相同。假设没有顶部或底部间距,则会给人一种垂直线没有中断的印象,或者如果您不介意垂直线中的中断,则无需担心删除顶部或底部间距 或 您可以利用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();
可以创建分隔符视图:
class 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())
这将创建一条分隔视图的小灰线。根据缺乏响应的情况判断,我认为这是不可能的。或者更好地将高度设置为
0.5
将其正确设置为1px1/UIScreen.main.scale