iOS - 在横向显示一个很长的垂直堆栈视图
Posted
技术标签:
【中文标题】iOS - 在横向显示一个很长的垂直堆栈视图【英文标题】:iOS - display a very long vertical stack view in landscape 【发布时间】:2016-01-06 02:11:55 【问题描述】:我在尝试以横向模式显示很长的堆栈视图时遇到问题。 我已经阅读并观看了一些关于自动布局和约束的教程,但在这种情况下我没有找到任何可以帮助我的东西:
我正在使用堆栈视图来构建我的 iphone 应用程序的视图;在一个视图中,我有一个非常长的垂直堆栈视图,由其他水平堆栈视图制成。 我想找到一种在横向模式下显示整个垂直堆栈的方法,也许允许用户滑动/滚动页面并查看堆栈的其余部分,或者可能将堆栈“拆分”很多部分并将它们并排放置水平方向。
为了更好的解释我做了一张图片
欢迎提出任何建议!
【问题讨论】:
如果你想滑动/滚动你应该使用滚动视图吗? stackview 只是为了方便约束,如果你想要一个带有动态单元格的水平滚动,你可能需要collectionview 我不认为滚动视图是我需要的,因为每个水平堆栈视图中有几个不同的东西..(例如标签、按钮、开关、图像等) 【参考方案1】:当设备将方向更改为横向时,您可以更改 axis
或 stackview
:
@property (weak, nonatomic) IBOutlet UIStackView *stackView;
-(void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator
switch ([[UIDevice currentDevice] orientation])
case UIDeviceOrientationLandscapeLeft:
_stackView.axis = UILayoutConstraintAxisHorizontal;
break;
case UIDeviceOrientationLandscapeRight:
_stackView.axis = UILayoutConstraintAxisHorizontal;
break;
default:
_stackView.axis = UILayoutConstraintAxisVertical;
break;
【讨论】:
以上是关于iOS - 在横向显示一个很长的垂直堆栈视图的主要内容,如果未能解决你的问题,请参考以下文章
在水平堆栈视图(自动布局)中将文本与图像垂直居中 - iOS