Iphone 选项卡栏似乎已锁定(默认设置)
我使用XCode 4.2中的interface builder创建了一个Iphone 选项卡栏似乎已锁定(默认设置),iphone,objective-c,ios,xcode,Iphone,Objective C,Ios,Xcode,我使用XCode 4.2中的interface builder创建了一个tabbarcontroller(默认有两个视图控制器) 但是,当我运行应用程序时,选项卡栏似乎被锁定,我无法选择其他选项卡。为什么呢 PS:我没有更改XCode中选项卡栏或选项卡栏控制器的任何属性。您是如何创建选项卡栏的?您是否有一个初始视图,然后转到“编辑”菜单->嵌入->选项卡栏控制器,还是从零开始并拖动到选项卡栏控制器 不管是哪种方式,我只是创建了一个只有一个视图的项目,并尝试了两种方式——但选项卡仍然有效。(如果通
tabbarcontroller
(默认有两个视图控制器)
但是,当我运行应用程序时,选项卡栏似乎被锁定,我无法选择其他选项卡。为什么呢
PS:我没有更改XCode中选项卡栏或
选项卡栏控制器的任何属性。您是如何创建选项卡栏的?您是否有一个初始视图,然后转到“编辑”菜单->嵌入->选项卡栏控制器,还是从零开始并拖动到选项卡栏控制器
不管是哪种方式,我只是创建了一个只有一个视图的项目,并尝试了两种方式——但选项卡仍然有效。(如果通过从“实用程序”窗格拖动选项卡栏控制器来执行此操作,则如果用项目替换创建的原始视图,还必须选择“是初始视图控制器”
在您的评论之后编辑:
您实际上不需要在AppDelegate中合成tab bar控制器-故事板将处理此问题,您可以从代码中引用它,而无需生成合成器。只需先通过拖动tab bar控制器在故事板中设计布局(默认情况下,这将自动创建两个视图控制器)。然后选择tabbar控制器,在“实用程序”面板下,您将看到“是初始视图控制器”复选框。确保选中该复选框。然后运行您的项目。抱歉-假设您使用的是XCode 4.2,您使用的是故事板。也许您可以尝试在代码中完全实例化tabbar控制器,而不是使用脚本一点也不。我通常就是这样做的
// Create the main tabbar controller
tabbarController = [[UITabBarController alloc] init];
// Create the first view controller
MyFirstViewController *v1 = [[MyFirstViewController alloc] initWithNibName:@"MyfirstViewController" bundle:nil];
[v1 setTitle:@"Tab1"];
// Create second view controller
MySecondViewController *v2 = [[MySecondViewController alloc] initWithNibName:@"MySecondViewController" bundle:nil];
[v2 setTitle:@"Tab2"];
// Make an array of controllers for the tabbar
NSArray *tabbarControllerArray = [NSArray arrayWithObjects:v1, v2, nil];
// Set the view controllers used by the tabbar controller
[tabbarController setViewControllers:tabbarControllerArray];
// Release views (retained elsewhere)
[v1 release];
[v2 release];
// Add the controller to the subview
[window addSubview:[tabbarController view]];
// Make key and visible
[self.window makeKeyAndVisible];
试一试,看看你进展如何。1)创建了一个空的应用程序模板项目。2) 在AppDelegate.h文件中添加了IBOutlet并将其合成。3) 让AppDelegate接口符合UITabBarControllerDelegate协议。4) 创建一个新的空xib,将一个选项卡栏控制器(从对象库)以及一个空对象拖到其中,并将空对象的类设置为AppDelgate,将文件的所有者类设置为UIApplication。5) 将“delegate”属性从文件的所有者拖到appdelegate类,将选项卡栏出口从appdelegate类拖到tabbarcontroller。5)添加窗口对象(从对象库)并将“window”连接从appdelegate拖到窗口,将rootViewController属性从窗口拖到tabbarcontroller。6) 将项目设置中的主界面文件设置为我添加的文件xib。最后,当我运行应用程序时,选项卡栏显示良好,但它被锁定,我无法选择选项卡。我找不到属于ibbarcontroller的“is initial view controller”,我们不打算在我们的项目中使用故事板,我们陷入了这个奇怪的问题,所有的设置和连接都是100%正确的!但是标签被锁定了,这让我发疯。感谢您对故事板的澄清。最后,它对我起了作用,在我根据本教程重复上述步骤后,XCode中出现了一些问题:现在一切都好了