ios - Xcode UITabBarController : Make Two tabs point to same ViewController

标签 ios xcode swift

我构建了一个简单的应用程序来查看烂番茄中的电影列表(作为学习 ios 开发的一部分)https://raw.githubusercontent.com/koldkoder/movie_listing/master/rotten_tomatoes.gif

我正在尝试添加选项卡控件。第一个选项卡将列出当前的票房电影,第二个选项卡将列出最近发行的 DVD 电影。两个 View 完全相同,只是它们从不同的 api 端点获取数据。我想使用 UITabBarController 来实现这个功能。但我不想创建两个重复的 Viewcontrollers,而是同时使用一个。使用 Storyboard 和代码的正确方法是什么。

最佳答案

这很简单。创建一个 UIViewController,它在初始化程序中采用 View 类型参数,如下所示:

typedef NS_ENUM (NSInteger, MediaViewType) {
    MediaViewTypeBoxOffice = 0,
    MediaViewTypeDVD
};

- (id)initWithViewType:(MediaViewType)iViewType;

在实现文件中,根据传递的 View 类型处理您的 View 和功能。然后将 View Controller 的实例添加到 UITabBarController:

MyMediaViewController *vc1 = [MyMediaViewController alloc] initWithViewType: MediaViewTypeBoxOffice];
MyMediaViewController *vc2 = [MyMediaViewController alloc] initWithViewType: MediaViewTypeDVD];

self.tabBarController.viewControllers = @[vc1, vc2];

关于ios - Xcode UITabBarController : Make Two tabs point to same ViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32625898/

相关文章:

ios - 按删除按钮时功能不删除数组项

ios - 停止 AVPlayer 在 tableviewcell 中播放

xcode - 如何在Xcode数据建模工具中重新排列实体属性?

iphone - iOS: "open: Permission denied"

ios - 如何在 iOS 上获取音量级别和音量更改通知?

ios - 将带有图像的工具栏添加到项目中

objective-c - Cocoa应用程序界面从程序代码中随机 "disconnecting"

xcode - 使用 XCode 6/Swift 的 iOS 7.1 中不显示图像

iOS 共享扩展在 Chrome 中不起作用

ios - XCode 5.1 预处理器宏不工作