Ios 最佳实践:为单表视图到双表视图使用大小类
我知道“最佳实践”是stackoverflow的禁忌,但我还是要尝试一下,因为我认为这很重要,需要一个具体的答案。自动布局是一项新技术,随着最近发布的iPad并行多任务处理,自动布局的细微差别变得前所未有的重要 我的情况:我的应用程序将有两个列表。在iPhone上,一次只能浏览一次。我可以做到这一点:Ios 最佳实践:为单表视图到双表视图使用大小类,ios,swift,uitableview,autolayout,size-classes,Ios,Swift,Uitableview,Autolayout,Size Classes,我知道“最佳实践”是stackoverflow的禁忌,但我还是要尝试一下,因为我认为这很重要,需要一个具体的答案。自动布局是一项新技术,随着最近发布的iPad并行多任务处理,自动布局的细微差别变得前所未有的重要 我的情况:我的应用程序将有两个列表。在iPhone上,一次只能浏览一次。我可以做到这一点: 带有一个ViewController,可以在两个列表数据数组之间切换 有两个ViewController,每个都有自己的tableView和数据 一个ViewController和两个表,但其中一
对于如何实现这一功能,我将不胜感激。虽然我了解每个选项的概念,但我不了解具体的步骤/代码,因此希望您能详细解释。谢谢。我在我的应用程序中有这个确切的场景,我使用了选项2 对于iPad,它将使用w-Regular h-Regular size类。 这有一个伟大的视觉和解释的大小类
- 在Interface Builder中,切换到w-常规h-常规大小类
- 在w-Regular和h-Regular中,从对象库(Interface Builder的右下角)拖出一个容器视图,并将其放置在视图中
- 在w-Regular和h-Regular中,根据需要设置约束,以便在新布局中考虑容器视图。
- 可能需要关闭现有约束。可以在约束中的“尺寸检查器”中执行此操作。请注意,下图中安装了my constraint。单击“已安装”复选标记左侧的+以在w-Regular h-Regular size类中将其卸载
- 卸载约束的另一种方法是在屏幕对象的“大小检查器”中高亮显示约束,然后按delete键。它实际上并没有删除约束,只是将其从当前大小类中卸载
- 将VC链接到容器视图。ctrl从容器拖动到VC以创建嵌入序列。您还需要添加代码,以便在iPad上仅使用此嵌入式segue。通过在IB中选择segue并转到属性检查器,为segue提供一个标识符。在下面的示例代码中,我将segue称为embeddeseguename
- (BOOL)shouldPerformSegueWithIdentifier:(NSString *)identifier sender:(id)sender { if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad && [identifier isEqualToString:@"EmbedSegueName"]) { return YES; } return NO; }
- 不允许访问第二个VC。我不知道你是如何在iPhone上显示这两个不同的VCs的,但在我的应用程序中,我使用的是
。这就是我如何在我的应用程序中从iPad的选项卡栏中删除额外VC的方法uitabbarcontroller
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) { // Remove the tab bar item because it will be contained in the iPad's layout. // In this example, it's removing the 2nd tab bar item. NSMutableArray *viewControllers = [NSMutableArray arrayWithArray:[self.tabBarController viewControllers]]; [viewControllers removeObjectAtIndex:1]; [self.tabBarController setViewControllers:viewControllers animated:YES]; }
我希望这足以让您开始。谢谢!这是我在任何论坛上读到的最清晰的解释之一。