我构建了一个简单的应用程序来查看烂番茄的电影列表(作为学习ios开发的一部分)https://raw.githubusercontent.com/koldkoder/movie_listing/master/rotten_tomatoes.gif
我正在尝试添加标签控件。一个标签列出当前的票房电影,第二个标签列出最近在DVD上列出的电影。两个视图完全相同,只是从不同的api端点获取数据。我想使用UITabBarController来实现此功能。但我不想创建两个重复的Viewcontrollers,而是使用一个用于此目的。使用故事板和代码的正确方法是什么。
答案 0 :(得分:1)
这很简单。创建一个UIViewController,在初始化程序中获取视图类型参数,如下所示:
typedef NS_ENUM (NSInteger, MediaViewType) {
MediaViewTypeBoxOffice = 0,
MediaViewTypeDVD
};
- (id)initWithViewType:(MediaViewType)iViewType;
在实施文件中,处理您的视图&基于传递的视图类型的功能。然后将视图控制器的实例添加到UITabBarController
:
MyMediaViewController *vc1 = [MyMediaViewController alloc] initWithViewType: MediaViewTypeBoxOffice];
MyMediaViewController *vc2 = [MyMediaViewController alloc] initWithViewType: MediaViewTypeDVD];
self.tabBarController.viewControllers = @[vc1, vc2];