Ios 如何以编程方式使用UIScrollView使UIStackView滚动?
我见过几种解决方案,可以使用Ios 如何以编程方式使用UIScrollView使UIStackView滚动?,ios,uiscrollview,uistackview,Ios,Uiscrollview,Uistackview,我见过几种解决方案,可以使用UIStackView滚动UIScrollView,但它们都依赖于自动布局和IB 有没有一种方法可以通过编程实现 我见过这个例子: 但它使用的是可视化格式语言,我使用的是布局锚API 布局锚API: view.leadingAnchor.constraintEqualToAnchor(otherview.topAnchor).active = true 您可以尝试ScrollableStackView: 示例代码(Swift) 示例代码(Objective-C) 希
UIStackView
滚动UIScrollView
,但它们都依赖于自动布局和IB
有没有一种方法可以通过编程实现
我见过这个例子:
但它使用的是可视化格式语言,我使用的是布局锚API
布局锚API:
view.leadingAnchor.constraintEqualToAnchor(otherview.topAnchor).active = true
您可以尝试ScrollableStackView: 示例代码(Swift) 示例代码(Objective-C)
希望能有所帮助。我也在想做同样的事情,无意中总结了一下,将
UIStackView
嵌入到UIScrollView
中,并通过设置UIStackView
的锚定约束来匹配UIScrollView
的锚定约束,继续按照您的思路进行操作:
stackView.leadingAnchor.constraintEqualToAnchor(scrollView.leadingAnchor).active = true
stackView.trailingAnchor.constraintEqualToAnchor(scrollView.trailingAnchor).active = true
stackView.bottomAnchor.constraintEqualToAnchor(scrollView.bottomAnchor).active = true
stackView.topAnchor.constraintEqualToAnchor(scrollView.topAnchor).active = true
stackView.widthAnchor.constraintEqualToAnchor(scrollView.widthAnchor).active = true
B实际上,您需要做的是将堆栈视图添加到scrollview,并使scroll view的内容视图大于scroll view框架,以使scroll view滚动!请尝试将安全屏幕大小设置为200x200左右,不要担心自动布局。您能否提供一个代码示例,以便我将其标记为答案并实现它?我在回答此问题时提供了一个使用布局锚的示例相关问题可能重复,但不是重复:
@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];
// ...
stackView.leadingAnchor.constraintEqualToAnchor(scrollView.leadingAnchor).active = true
stackView.trailingAnchor.constraintEqualToAnchor(scrollView.trailingAnchor).active = true
stackView.bottomAnchor.constraintEqualToAnchor(scrollView.bottomAnchor).active = true
stackView.topAnchor.constraintEqualToAnchor(scrollView.topAnchor).active = true
stackView.widthAnchor.constraintEqualToAnchor(scrollView.widthAnchor).active = true