ios - 根据ios版本不同的ViewController

标签 ios iphone objective-c uiviewcontroller versioning

我有一个UICollectionViewController进入TabBarViewController适用于 iOS 6.0以及更高版本的ios。我想知道是否有任何方法可以使用不同的 ViewController如果设备的历史早于 iOS 6.0版本。例如,我可以使用 UITableView对于使用 iOS 6.0 之前版本的设备和UICollection对于使用 iOS 6.0 的设备和后版本?

我也尝试过PSTCollectionView但它有一些问题。

我添加了一张显示我的 Storyboard的图像。我的集合位于 TabBarController 中,如果设备使用 iOS 6.0 之前的版本,我想更改为 TableView 。 enter image description here

最佳答案

有一个非常简单的解决方案

例如,在 tabBarControllers 中,索引 2 用于 CollectionView,索引 3 用于 TableViewController

只需在 Storyboard中完成所有必需的设置图标名称等

现在在您的 ApplicationDidFinishLaunchingWith 选项中执行此操作

因为我假设你的 tabbarController 是 rootViewContrller 这样做

UITabbarController *tabbarController = (UITabBarController *)self.window.rootViewController;
NSMutableArray *arrayControllers = [NSMutableArray arrayWithArray:tabbarController.viewControllers];
if (OlderVersion) {//Check
    [arrayControllers removeObjectAtIndex:2];
}else{
    [arrayControllers removeObjectAtIndex:3];
}
[tabbarController setViewControllers:arrayControllers];

关于ios - 根据ios版本不同的ViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20370846/

相关文章:

Asp.net 在移动平台上下载文件

objective-c - 如何列出指定字体的字体样式

ios - 具有核心数据和 API 请求的多线程

ios - 尝试放置横幅样式添加以随内容滚动

ios - 将 UIWebView keyboardAppearance 设置为 UIKeyboardAppearanceDark

iphone - itunesconnect iPhone 应用程序状态 - 无效的二进制文件

iphone - iOS 框架无法创建对象

ios - 单元格在滚动后丢失 gradientLayer

ios - popToRootViewControllerAnimated 和 Switch TabBar Index

iphone - 单击 UIButton 时如何重置所有 tableView 数据和数组?