iOS 相当于 Android 片段/布局
Posted
技术标签:
【中文标题】iOS 相当于 Android 片段/布局【英文标题】:iOS equivalent to Android Fragments/Layouts 【发布时间】:2012-07-21 12:07:17 【问题描述】:在 android 中,您只能使用 Fragments 开发一款针对手机和桌子的应用,因此您可以拥有不同的 UI。您甚至可以只使用布局并在代码上设置一些条件来运行平板电脑或手机逻辑。
我需要为 iPhone 和 iPad 开发一个应用程序,我想知道是否有类似的东西可以实现不同的 UI 和略有不同的行为。在我的例子中,iPhone 应用程序将使用屏幕底部的选项卡,但 iPad 应用程序应该使用左侧的菜单。
【问题讨论】:
【参考方案1】:是的,您可以为 iPhone 和 iPad 使用不同的 UI。
创建两个XIB
文件并在屏幕上显示它们时使用此条件启动XIB
UIViewController *viewController;
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone)
viewController = [[[ViewController alloc] initWithNibName:@"ViewController_iPhone" bundle:nil] autorelease];
else
viewController = [[[ViewController alloc] initWithNibName:@"ViewController_iPad" bundle:nil] autorelease];
[self.navigationController pushViewController:viewController animated:YES];
【讨论】:
我想使用这种技术我可以处理控制器上逻辑上的微小差异,对吧?我想避免重复代码,但有时会有不同的行为。 @momo 我也是这样做的。【参考方案2】:分别为UIViewController
和XIB
。
另见Creating a Universal App。
【讨论】:
以上是关于iOS 相当于 Android 片段/布局的主要内容,如果未能解决你的问题,请参考以下文章