草庐IT

UIstackView

全部标签

swift - 如何将圆角半径添加到 UIStackView 并屏蔽 subview

我为UIStackView使用一个简单的子类来为其添加背景颜色:funcbackgroundColor(_color:UIColor?){backgroundView.backgroundColor=color}funccornerRadius(_radius:CGFloat){backgroundView.clipsToBounds=truebackgroundView.layer.cornerRadius=radius}问题是使用自定义View作为容器的圆角半径不会屏蔽arrangedSubviews。我试图通过覆盖addArrangedSubview方法来解决这个问题:overr

ios - 动画 UIStackView 从顶部滑入

我有一个带有BarButton的导航栏,它应该充当Storyboard中设置的菜单按钮。当它被点击时,我有一个函数创建一个堆栈View,其中菜单项(UIButtons)作为其排列的subview。此外,通过从createStackView函数中调用的函数添加顶部、底部、尾部和前导的约束。代码如下:letmenuArray:[String]=["a","b","c","d"]funcbuttonWtitle(title:String)->UIButton{letbutton=UIButton()button.setTitle(title,for:.normal)button.backgr

swift - UIStackView 不显示

在我的viewControllerviewDidLoad方法中,我有:letstackView=UIStackView()stackView.axis=.Verticalself.view.addSubview(stackView)for_in1..但是当我编译时,我只得到一个全白的屏幕。我做错了什么? 最佳答案 您正在将堆栈View添加到父View,但您没有告诉父View如何布置堆栈View。如果您使用基于约束的布局,则需要将堆栈View固定到父View的某些边缘:view.addConstraint(NSLayoutConstr

swift - UIStackView setCustomSpacing 在运行时

我有一个水平的UIStackView,默认情况下,它看起来如下:带有心脏的View最初是隐藏的,然后在运行时显示。我想减少心脏View和帐户名View之间的间距。当在viewDidLoad中执行时,以下代码可以完成工作,但仅:stackView.setCustomSpacing(8,after:heartView)稍后更改自定义间距时,比如按下按钮时,它没有任何效果。现在,这里的问题是,一旦堆栈View中的subview发生变化,自定义间距就会丢失:当从堆栈View中取消/隐藏View时,自定义间距将被重置并且无法修改。我试过的东西:通过打印stackView.customSpacin

swift - UIStackView Weight like 线性布局

如何用StackView设计如下布局我知道它可以在不使用stackview的情况下轻松创建,但是可以使用stackview吗,因为我有很多已经使用stackview设计的ui如何在View之间添加分隔线,如上图为此我设置了以下约束**但是运行时它显示为** 最佳答案 您可以使用一些简单的Autolayoutconstraints来获得这种带有UIStackView的界面。下图描述了您可以应用的层次结构和约束:Accept和Reject按钮也有EqualWidth约束。输出截图: 关于sw

ios - 在 UIStackView 上使用 UIImageView 自动布局 - iOS Swift

在以编程方式构建View时,我遇到了一些自动布局问题。有一个垂直的UIStackView,里面有几个元素,主要是标签和图片。在stackView和imageView上设置属性后,结果我得到类似于下面的图像1的东西(图像顶部和底部的空白;屏幕尺寸越小,空白越大),而我想得到更类似于图像的东西2(图片周围没有空白)。1:2:我正在阅读一些关于如何正确设置stackView、它的分布和对齐方式的教程,结果我的StackView属性设置如下:myStackView.axis=.verticalmyStackView.distribution=.fillmyStackView.alignment

如果设置隐藏,iOS UIStackView 无法同时满足约束

我在引用UIStackView时遇到问题。我创建了一个StackView,并向其中添加了一些捆绑到另一个StackView中的项目。现在我想用隐藏属性为内部StackViews设置动画以在不同对象之间切换。为此,我在ViewDidLoad的代码中调用了StackView.hidden来隐藏StackView及其中的项目。这些代码似乎可以在模拟器中运行,但会引发错误:Unabletosimultaneouslysatisfyconstraints.Probablyatleastoneoftheconstraintsinthefollowinglistisoneyoudon'twant.T

ios - 确定 UIStackView 内容大小

有没有一种简单的方法可以获取UIStackView的总内容大小?举个例子:我以编程方式创建一个UIView数组...varnumberOfSubViews=5letsubViews:[UIView]={vararray:[UIView]=[]for_in0..然后我从该数组创建一个简单的UIStackView...varspacing:CGFloat=4letstackView=UIStackView(arrangedSubviews:subViews)stackView.axis=.horizontalstackView.spacing=spacingstackView.transl

ios - 更改 UILabel 行数后调整 UIStackView 的大小

我的iOS应用程序有一个tableview和一个UITableViewCell,布局如下(1个stackview包含2个标签和1个按钮)当用户点击按钮时,中央标签的行数从0变为2,如下所示:现在这里有两个问题:1)调整UIStackView的大小2)调整单元格大小我找到了问题1的非最佳解决方案,其中包括在堆栈中添加一个空View。(invalidateIntrinsicContentSize不起作用)。letemptyView=UIView()emptyView.frame=CGRect(x:0,y:0,width:0,height:0)stackView.addArrangedSub

ios - 没有分配或填充的 UIStackView

我在我的应用程序上有一个View,我需要能够在其中推送动态数量的自定义subview(View数量在其运行时发生变化)。我最初的想法是一个TableView,但设置所有委托(delegate)方法似乎有点OTT。然后我找到了UIStackView,它很棒,因为它可以在我添加和删除subview时处理重绘和调整大小。但是,当我在UIStackView中有少量View时。它要么使每个View在垂直方向上变大以填充空间,要么根据各种设置将它们分布在堆栈View中。我想要的是我添加的每个View都可以附加到堆栈中任何现有View的下方。我不想分配或填充堆栈中的空白空间。有点像UIStackVi