Tag: uistackview

如何使用UIScrollView以编程方式滚动UIStackView?

我已经看到了几个解决scheme使UIStackView滚动与UIScrollView但他们都依靠Autolayout和IB。 有没有办法做到这一点编程? 我看过这个例子: https : //gist.github.com/twostraws/a02d4cc09fc7bc16859c 但它使用视觉格式语言,我正在使用布局锚API。 布局锚点API: view.leadingAnchor.constraintEqualToAnchor(otherview.topAnchor).active = true

UIStackView的高度和垂直位置是不明确的

Autolayout无法计算UIStackView的高度或垂直位置,尽pipe添加了子视图。 这是一个很常见的错误和“疑难杂症”,所以请看下面的答案。

我怎样才能设置UIStackView的cornerRadius?

我更新我的应用程序使用UIStackViews,现在大多数人应该已经更新到iOS 9。 在旧版本中,我做了一个由两个UITextField组成的UIView,并设置了它的layer.cornerRadius属性。 在新版本中,我创build了一个由相同的两个UITextField组成的UIStackView,而不是UIView。 当我尝试设置其layer.cornerRadius属性似乎没有发生。 文档似乎没有任何有用的/相关的信息。

从UIStackView中缺less的代码添加UITextView

我试图以编程方式将UITextView添加到UIStackView ,但它不出现在屏幕上。 当我检查Debug View Hierarchy时,它是在视图层次结构中,它有一些约束,但不显示在输出视图。 这是我的代码: let stackView = UIStackView() let textView = UITextView() let button = UIButton() stackView.axis = .Horizontal stackView.spacing = 20 stackView.distribution = UIStackViewDistribution.Fill button.setImage(UIImage(named:"image1"), forState: .Normal) button.setImage(UIImage(named:"image2"), forState: .Selected) textView.textAlignment = NSTextAlignment.Left textView.textColor = UIColor.blackColor() textView.editable = true textView.text = "" stackView.addArrangedSubview(textView) stackView.addArrangedSubview(button) button添加正常。 但我找不到正确显示TextView的方法! 试图添加像下面的宽度/高度约束,但它不工作,或工作不好(取决于变体): let widthConstraint = NSLayoutConstraint(item: textView, […]

展开UITableView以显示堆栈视图中的所有单元格?

我无法让我的UITableView在我的堆栈视图中显示全高。 我的视图树如下所示: – View – Scroll View – Stack View – Table View – Image View – Map View 表视图dynamic填充数据,工作正常。 问题是一次只能看到一行,我必须滚动列表。 我希望看到的是,桌面视图需要尽可能多的垂直空间,因为它需要显示所有的单元格。 我曾尝试调整桌子的高度如下,但只是结束了不再滚动的桌子,虽然即使它工作,我宁愿有更多的dynamic: override func viewDidAppear(animated: Bool) { super.viewDidAppear(animated) self.detailsTableView.frame.size.height = 200 } 我怀疑这可能是需要调整的“堆栈视图”的一个方面,但我现在还不确定。 任何人都可以提出一个合适的方式

IOS stackview addArrangedSubview添加在特定的索引

如何在UIStackView的特定索引中添加排列的子视图? 就像是: stackView.addArrangedSubview(nibView, atIndex: index)

animationUIStackView排列的子视图内容大小更改

内部内容大小变化时,是否可以对已排列的子视图进行animation制作? 例如,想象一下,我有一个排列的子视图,其中包含固定到边缘的单个UILabel。 这个标签有less量的文字。 新的文本进来,这是比以前的文字大。 标签的内在尺寸现在更大。 我想能够像这样animation: stackView.layoutIfNeeded() self.label.text = self.expanded ? textTwo : textOne UIView.animateWithDuration(0.3) { () -> Void in self.stackView.layoutIfNeeded() } 堆栈视图当前从旧内容大小“跳转”到新的大小,忽略animation块。 当然,另一种方法是手动找出排列的子视图的高度,并为该约束设置animation。 如果可能,我想避免这种情况。

UIStackView – 拖动重新安排的子视图?

我试图得到一些build议,关于如何去实现UITableView但在UIStackView上find同样的“拖动重新sorting”的行为。 到目前为止,这是我在想什么: 为每个arrangedSubview的子视图添加一个长按手势识别器 长按,添加覆盖UIView作为子视图到主视图,并填充整个主视图。 这个覆盖视图将作为一种“canvas”,因为我正在拖动临时的“重新sorting”视图(我们将这个视图称为tempView ) (更多地在4中) 将arrangedSubview的alpha arrangedSubview为0(设置hidden = true会导致UIStackViewanimationclosures,就好像被删除一样。 使用与tempView的子视图相同的初始框架将一个tempView添加到叠加视图(请参阅3) 向上或向下拖动tempView ,并根据tempView的位置在计算的索引处插入/移除实际arrangedSubview的子tempView 。 当长按state为“已.Ended并且设置了.Ended arrangedSubview.alpha = 1 ,请.Ended并从主视图中移除覆盖视图。 有什么build议么? 任何人都看到的任何明亮的洞? 你会改变什么? 你会去什么方向去完成这个?

IOS-9 UIStackView问题滚动到前沿

我想实现滚动的UIStackView有两个button水平添加和删除视图。 我将scroll.contentSize更改为scroll.contentSize的大小,因此当堆栈大小大于ScrollView的大小时,可以滚动堆栈视图。 但是,滚动时,我无法达到堆栈视图的开始。 在滚动的时候,一开始我的观点很less,但是最后的观点可以达成。 //In load view scroll = [[UIScrollView alloc]initWithFrame:CGRectMake(25,100, screen.size.width-50, 50)]; scroll.backgroundColor = [UIColor whiteColor]; [self.view addSubview:scroll]; scroll.scrollEnabled = YES; scroll.delegate = self; cus.center = CGPointMake(scroll.frame.size.width/2, scroll.frame.size.height/2); [scroll addSubview:cus]; stack = [[UIStackView alloc]init]; stack.axis = UILayoutConstraintAxisHorizontal; stack.distribution = UIStackViewDistributionEqualSpacing; stack.spacing = 30; stack.alignment = UIStackViewAlignmentLeading; stack.translatesAutoresizingMaskIntoConstraints = NO; [scroll addSubview:stack]; [stack.centerXAnchor constraintEqualToAnchor:scroll.centerXAnchor].active = […]

嵌套的UIStackViews破坏约束

我有一个复杂的视图层次结构,内置在Interface Builder中,嵌套的UIStackViews。 每当我隐藏一些内在的堆栈视图时,我会得到“不可满足的约束”通知。 我已经追查到这一点: ( "<NSLayoutConstraint:0x1396632d0 'UISV-canvas-connection' UIStackView:0x1392c5020.top == UILabel:0x13960cd30'Also available on iBooks'.top>", "<NSLayoutConstraint:0x139663470 'UISV-canvas-connection' V:[UIButton:0x139554f80]-(0)-| (Names: '|':UIStackView:0x1392c5020 )>", "<NSLayoutConstraint:0x139552350 'UISV-hiding' V:[UIStackView:0x1392c5020(0)]>", "<NSLayoutConstraint:0x139663890 'UISV-spacing' V:[UILabel:0x13960cd30'Also available on iBooks']-(8)-[UIButton:0x139554f80]>" ) 具体来说, UISV-spacing约束:当隐藏一个UIStackView的高约束得到一个0常量,但似乎与内部堆栈视图的间距约束冲突:它需要8点之间我的标签和button,这是不可调和的隐藏约束和所以约束崩溃。 有没有解决的办法? 我已经尝试recursion隐藏隐藏的堆栈视图的所有内部StackViews,但这会导致内容漂浮在屏幕之外的奇怪的animation,并导致严重的FPS丢弃引导,而仍然没有解决问题。