我制作了一个项目,其中我需要一个水平视图,另一个垂直方向视图。另外,我需要在垂直视图的水平视图和表格视图中有一个集合视图。
我一直试图找到一些教程,但没有成功或解决方案是旧的。我正在使用Xcode 6。
答案 0 :(得分:0)
但是您可以使用集合视图实现表视图的等效操作。集合视图基本上是类固醇的表视图:更强大,更可配置,更通用。不是尝试实现两种类型的视图并在它们之间切换,而是适合Apple模式的设计只包含一个集合视图,在横向模式下显示两列或三列中的项目,但在纵向模式下只显示一列
This article描述了如何为集合视图实现自定义布局,并且它包含指向其他有希望相关材料的链接。
答案 1 :(得分:0)
如果您只需要从集合视图切换到表视图,那么请执行@BrettDonald所说的内容。但是,如果您需要更通用的方法来切换视图,请在视图控制器中实现:
- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
[self.dynamicView removeFromSuperView];
if (UIInterfaceOrientationIsLandscape(toInterfaceOrientation)) {
self.dynamicView = [[LandscapeView alloc] initWithFrame:self.view.bounds];
} else {
self.dynamicView = [[PortraitView alloc] initWithFrame:self.view.bounds];
}
[self.view addSubview:self.dynamicView];
}
willRotateToInterfaceOrientation
实际上已在iOS 8中弃用,因此您还需要在建议的viewWillTransitionToSize:withTransitionCoordinator:
中运行相同的代码。