标签导航
nib 技术
使用工程模板 Tabbed Application创建标签导航模式的应用
属性检查器,选择 Bottom Bar为Tab Bar
- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
UIViewController *viewController1 = [[HeiViewController alloc]
initWithNibName:@"HeiViewController" bundle:nil];
UIViewController *viewController2 = [[JiViewController alloc]
initWithNibName:@"JiViewController" bundle:nil];
UIViewController *viewController3 = [[LiaoViewController alloc]
initWithNibName:@"LiaoViewController" bundle:nil];
self.tabBarController = [[UITabBarController alloc] init];
self.tabBarController.viewControllers = @[viewController1,
viewController2,viewController3];
self.window.rootViewController = self.tabBarController;
[self.window makeKeyAndVisible];
return YES;
}
委托对象有
一个属性 tabBarController,它是UITabBarController 类型。UITabBarController是标签栏视图控制器,
它的一个重要属性是 viewControllers,它是NSArray 数组类型,用于存放所有标签栏视图控制器所控制的各
个模块的视图控制器。通过 self.window.rootViewController = self.tabBarController 这条语句,设置
标签栏视图控制器为应用的根视图控制器。 AppDelegate的window 属性、tabBarController属性和模块视图控
制器之间的关系
故事版
使用 Tabbed Application 模板创建一个名为 TabNavigationStoryborad的工程,其中需要选中 Use Storyboards和 Use
Automatic Reference Counting 复选框。
故事板开始的一端是 Tab Bar
Controller Scene ,它是根视图控制器。图中有两个 Segue ,用来描述Tab Bar Controller Scene 与 First View Controller
Scene 和Second View Controller Scene 之间的关系
要连线添加的场景和 Tab Bar Controller Scene ,具体操作是:按住 control键从 Tab Bar Controller Scene
拖曳鼠标到 View Controller Scene ,释放鼠标,从弹出菜单中选择 view controllers 项,此时连线就做好了,
添加一个视图控制器类 LiaoViewController 。在菜单栏中选择 File→ New →File… ,在文件模
板中选择 iOS →Objective-C ,此时将弹出“新建文件”对话框,在 Class 项目中输入LiaoViewController ,从 Subclass
of 下拉列表中选择 UIViewController,不选中 With XIB for user interface 复选框。再回到 Interface Builder中,选中 View
Controller Scene ,打开其标识检查器,将 Custom Class 中的Class 设为 LiaoViewController