Swift 3 - 滑动堆栈视图?

时间:2016-12-20 14:31:33

标签: ios swift xcode uicollectionview uistackview

我目前正在使用Swift 3 / xcode在我的应用上制作注册表单,我首先有3个文本字段显示下面有一个继续按钮,我想要它,以便用户按下继续按钮和当前的stackview幻灯片在视野之外,一个新的滑入(类似于故事板的segue

首先显示然后按继续:

enter image description here

然后这个堆栈视图将显示:

enter image description here

有人可以指出我如何做到这一点的正确方向吗?

谢谢。

2 个答案:

答案 0 :(得分:2)

对于您的情况,我不太确定使用stackView的目的是什么。我建议使用UICollectionView(水平)代替(UIStackView不会滚动哪个不适合您想要实现的内容),尤其是两个视图在您的情况下应该是相同的单元格。您所要做的就是检查当前indexPath.row的内容,以确定哪些单元的组件的外观/行为。

此外,您可以向按钮添加目标,让collectionView滚动到下一个单元格(如果它是第一行),第二行应该 - 例如 - 提交表单。

希望它有所帮助。

答案 1 :(得分:0)

@Chad,如果您想使用可滚动且简单的解决方案,可以尝试使用 ScrollableStackView 库。这是github页面:

https://github.com/gurhub/ScrollableStackView

以下是一些示例代码:

<强>夫特

import ScrollableStackView

var scrollable = ScrollableStackView(frame: view.frame)
view.addSubview(scrollable)

// add your views with 
let rectangle = UIView(frame: CGRect(x: 0, y: 0, width: 100, height: 55))
rectangle.backgroundColor = UIColor.blue
scrollable.stackView.addArrangedSubview(rectangle)
// ...

<强>目标C

@import ScrollableStackView

ScrollableStackView *scrollable = [[ScrollableStackView alloc] initWithFrame:self.view.frame];
scrollable.stackView.distribution = UIStackViewDistributionFillProportionally;
scrollable.stackView.alignment = UIStackViewAlignmentCenter;
scrollable.stackView.axis = UILayoutConstraintAxisVertical;
[self.view addSubview:scrollable];

UIView *rectangle = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 55)];
[rectangle setBackgroundColor:[UIColor blueColor]];

// add your views with
[scrollable.stackView addArrangedSubview:rectangle]; 
// ...

希望它有所帮助。