当前位置:  开发笔记 > IOS > 正文

你能给UIStackView边框吗?

如何解决《你能给UIStackView边框吗?》经验,为你挑选了3个好方法。

我试图UIStackViews在我的ViewController边界中分开5个.我给他们每个人一个IBOutlet,然后打电话给他们viewDidLoad使用该layer财产但无济于事.是不可能以编程方式给出堆栈视图边框?

码:

@IBOutlet weak var stackView1: UIStackView!
@IBOutlet weak var stackView2: UIStackView!
@IBOutlet weak var stackView3: UIStackView!
@IBOutlet weak var stackView4: UIStackView!
@IBOutlet weak var stackView5: UIStackView!

override func viewDidLoad() {
    super.viewDidLoad()

    stackView1.layer.borderWidth = 5
    stackView2.layer.borderWidth = 5
    stackView3.layer.borderWidth = 5
    stackView4.layer.borderWidth = 5
    stackView5.layer.borderWidth = 5   
}

Clafou.. 28

不幸的是,这是无法做到的.UIStackView很不寻常,因为它是一个"非渲染"视图,它执行布局(使用自动布局约束)但不显示自身.它有一个像所有UIViews一样的层,但它被忽略了.

请参阅"管理堆栈视图的外观"下的Apple文档:

UIStackView是UIView的非渲染子类.它不提供自己的任何用户界面.相反,它只管理其排列视图的位置和大小.因此,某些属性(如backgroundColor)对堆栈视图没有影响.同样,您不能覆盖layerClass,drawRect:或drawLayer:inContext:


Korey Hinton.. 14

可以通过在堆栈视图中查看边框来实现此目的.这可能是很多工作,可能会有某些情况要么无法工作,要么必须解决,因此可能不值得付出努力.您需要嵌套堆栈视图,以便可以在水平和垂直方向上提供边框.在我的Bordered Stack Views博客文章中,我将详细介绍这一点.但基本上我有常规视图的背景设置为我选择的颜色,我根据堆栈视图的轴的方向给出高度或宽度约束1.以下是界面构建器中内置的2x2网格的完整层次结构:

查看层次结构

导致这个结果:

在此输入图像描述

这是我的github repo这个例子的链接,所以你可以看到storyboard文件.



1> Clafou..:

不幸的是,这是无法做到的.UIStackView很不寻常,因为它是一个"非渲染"视图,它执行布局(使用自动布局约束)但不显示自身.它有一个像所有UIViews一样的层,但它被忽略了.

请参阅"管理堆栈视图的外观"下的Apple文档:

UIStackView是UIView的非渲染子类.它不提供自己的任何用户界面.相反,它只管理其排列视图的位置和大小.因此,某些属性(如backgroundColor)对堆栈视图没有影响.同样,您不能覆盖layerClass,drawRect:或drawLayer:inContext:



2> Korey Hinton..:

可以通过在堆栈视图中查看边框来实现此目的.这可能是很多工作,可能会有某些情况要么无法工作,要么必须解决,因此可能不值得付出努力.您需要嵌套堆栈视图,以便可以在水平和垂直方向上提供边框.在我的Bordered Stack Views博客文章中,我将详细介绍这一点.但基本上我有常规视图的背景设置为我选择的颜色,我根据堆栈视图的轴的方向给出高度或宽度约束1.以下是界面构建器中内置的2x2网格的完整层次结构:

查看层次结构

导致这个结果:

在此输入图像描述

这是我的github repo这个例子的链接,所以你可以看到storyboard文件.



3> Filip Raj..:

您可以在UIView中嵌入stackView,然后设置该视图的边框(颜色,宽度等),然后将stackView约束到UIView,如top,left,right,height.

推荐阅读
手机用户2402852307
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有