Questions tagged «uistackview»

UIStackView类提供了精简的界面,用于以列或行布局视图的集合。堆栈视图使您可以利用自动版式的功能,创建可以动态适应设备方向,屏幕尺寸以及可用空间中任何更改的用户界面。


12
以编程方式在UIStackView中添加视图
我正在尝试以编程方式在UIStackView中添加视图。现在我的代码是: UIView *view1 = [[UIView alloc]init]; view1.backgroundColor = [UIColor blackColor]; [view1 setFrame:CGRectMake(0, 0, 100, 100)]; UIView *view2 = [[UIView alloc]init]; view2.backgroundColor = [UIColor greenColor]; [view2 setFrame:CGRectMake(0, 100, 100, 100)]; [self.stack1 addArrangedSubview:view1]; [self.stack1 addArrangedSubview:view2]; 当我部署应用程序时,只有一个视图并且它是黑色的。(view1也获得了view2的参数)


18
UIStackView中的多行标签
将多行标签(将换行符设置为“自动换行”)放入堆栈视图时,标签会立即失去换行符,而是将标签文本显示在一行中。 为什么会发生这种情况?如何在堆栈视图中保留多行标签?

10
如何添加前导填充以添加到UIStackView中添加的视图
这是我的设置:我的UIScrollView前缘,前缘,试验边缘均设置为0。在其中添加了UIStackView以下约束: stackView.centerYAnchor.constraintEqualToAnchor(selectedContactsScrollView.centerYAnchor).active = true stackView.leadingAnchor.constraintEqualToAnchor(selectedContactsScrollView.leadingAnchor).active = true 在堆栈视图中,我添加了一些视图。 我的问题是,由于种种限制,添加到堆栈视图的第一个视图也将具有前导边缘= 0。 我可以在第一个视图中添加一些填充的方法是什么?无需调整滚动视图约束。

14
UIStackView“无法同时满足约束”对“压缩”的隐藏视图
当我的UIStackView“行”被压缩时,它们会AutoLayout发出警告。但是,它们显示正常,除了这些日志记录之外,没有其他问题: 无法同时满足约束条件。以下列表中的约束中至少有一个是您不想要的约束。尝试以下操作:(1)查看每个约束,并尝试找出不期望的约束;(2)查找添加了一个或多个不必要约束的代码并进行修复。(注意:如果您看NSAutoresizingMaskLayoutConstraints不懂,请参阅该UIView属性的文档translatesAutoresizingMaskIntoConstraints)( 因此,我不确定如何解决此问题,但是除了烦人之外,它似乎并没有破坏任何东西。 有人知道如何解决吗?有趣的是,布局约束经常用“ UISV隐藏”标记,表明在这种情况下也许应该忽略子视图或某些东西的高度最小值?

6
UIStackView隐藏视图动画
在iOS 11中,a中隐藏动画的行为UIStackView已更改,但是我无法在任何地方找到该文档。 iOS 10 iOS 11 两者中的代码是这样的: UIView.animate(withDuration: DiscoverHeaderView.animationDuration, delay: 0.0, usingSpringWithDamping: 0.9, initialSpringVelocity: 1, options: [], animations: { clear.isHidden = hideClear useMyLocation.isHidden = hideLocation }, completion: nil) 如何在iOS 11上还原以前的行为?

8
UIStackView:是否真的需要同时调用removeFromSuperView和removeArrangedSubview来删除子视图?
从UIStackView类参考 在removeArrangedSubview中: 为防止在调用堆栈的removeArrangedSubview:方法后视图出现在屏幕上,请通过调用视图的removeFromSuperview方法从子视图数组中显式删除视图。 在布置子视图中: 每当调用已安排视图的removeFromSuperview方法时,堆栈视图就会将该视图从其organizedSubview数组中删除。 从这些看来,仅调用removeFromSuperview就足以删除一个子视图,而我一直在使用它而没有问题。当调用removeFromSuperview时,我还通过记录rangingSubviews数组的计数来确认此行为。 但是,这里有许多有关S / O的教程和评论,请两者都称呼。是否有一个原因?还是人们只是因为文档中的说明而这样做?
71 ios  uistackview 

6
如何创建视图之间具有可变间距的UIStackView?
我有一个简单的水平结构UIStackView,里面堆叠了几个UIView。我的目标是在视图之间创建可变的间距。我很清楚,我可以使用“ spacing”属性在子视图之间创建恒定的空间。但是我的目标是创建可变空间。请注意,如果可能的话,我要避免使用充当间隔符的不可见视图。 我想到的最好的办法是将我包装UIViews在一个单独的UIStackView,并使用layoutMarginsRelativeArrangement = YES尊重我内部堆栈的布局边距。我希望我可以采取任何类似的措施,UIView而不必诉诸这种丑陋的解决方法。这是我的示例代码: // Create stack view UIStackView *stackView = [[UIStackView alloc] init]; stackView.translatesAutoresizingMaskIntoConstraints = NO; stackView.axis = UILayoutConstraintAxisHorizontal; stackView.alignment = UIStackViewAlignmentCenter; stackView.layoutMarginsRelativeArrangement = YES; // Create subview UIView *view1 = [[UIView alloc] init]; view1.translatesAutoresizingMaskIntoConstraints = NO; // ... Add Auto Layout constraints for height / width // …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.