我构建了一个简单的应用程序来查看烂番茄中的电影列表(作为学习 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/