iphone - 如何在没有 XIB 的情况下将选项卡栏添加到现有 View Controller

标签 iphone xcode uitabbarcontroller

尝试尽可能避免使用 Interface Builder

目前,我通过代码创建了 View Controller ,并通过代码更改了 View 。

我现在需要一个步骤来将应用程序发送到带有标签栏的新 View ,这样我也可以更改 View 。

理想情况下,我要做的就是告诉当前 View Controller 在底部添加一个选项卡栏,但我不确定这是否可行,所以我可能必须将 UIViewController 与 UITabBarController 交换?

任何帮助将不胜感激。

干杯, 安德烈

最佳答案

我手头没有 Xcode,所以我会尝试口头回答。

创建一个新的 UITabBarController 并将当前 View 设置为 Root View ,然后添加所需数量的选项卡(每个选项卡都有自己的 View )。

更新
初始化 Controller 后,定义一个 View 数组(添加顺序很重要)。并在标签栏 Controller 上调用它

- (void)setViewControllers:(NSArray *)viewControllers animated:(BOOL)animated

更新2

这是一个简单的代码,用于创建一个带有两个空 View 的选项卡栏,每个 View 都有自己的选项卡按钮。

tabBarController = [[UITabBarController alloc]init];

firstView = [[FirstView alloc] init];
UITabBarItem *item1 = [[[UITabBarItem alloc]initWithTitle:@"First" image:nil tag:1] autorelease];
[firstView setTabBarItem:item1];

secondView = [[SecondView alloc] init];
UITabBarItem *item2 = [[[UITabBarItem alloc]initWithTitle:@"Sec" image:nil tag:1] autorelease];
[secondView setTabBarItem:item2];

[tabBarController setViewControllers:[NSArray arrayWithObjects:firstView,secondView,nil] animated:NO];

[window addSubview:tabBarController.view];

当然,此代码不会按原样有用,您需要手动创建 View ,或者为每个 View 创建一个 nib 文件并将其加载到 initWithNibName

更新3
检查这个Stanford iPhone Course ,这是斯坦福大学的免费类(class)。讲师是苹果员工。标题为导航和选项卡栏 Controller 的第 7 讲将为您提供这些组件的良好开端。

关于iphone - 如何在没有 XIB 的情况下将选项卡栏添加到现有 View Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2492621/

相关文章:

android - 从 android/Java 迁移到 OC/IOS

iphone - 自定义 UITableViewCell 顶部出现神秘圆线

适用于所有屏幕和方向的 iOS

xcode - 警报消息按钮,限制进一步进入下一个 View Controller

ios - 为屏幕尺寸调整 Collection View 单元格

iphone - UITabBar 中的单个选项卡不包含 UINavigationBar

iphone - CoreAudio 节奏变化 (iOS)

xcode - 上传到 iTunes Connect 时如何解决 "Application failed codesign verification"?

ios - 有 onViewDidReload() 吗?

ios - XIB 中的导航栏项目,呈现 Storyboard选项卡栏 Root View Controller Segue