我设法解决了这个问题,但我不得不重新开始。我使用标签栏应用程序模板开始。然后在情节提要的每个视图上,我选择了“编辑器->嵌入->导航控制器”。将导航控制器添加到每个选项卡栏的视图。在初始视图中,我创建了按钮和控件,将它们从它们拖到每个视图以链接它们。
然后我更新了以下文件:
AppDelegate.h
@interface NRMAppDelegate : UIResponder <UIApplicationDelegate, UITabBarControllerDelegate>
@property (nonatomic, retain) IBOutlet UITabBarController *tabBarController;
AppDelegate.m
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after application launch.
UITabBarController *tabController = (UITabBarController *)self.window.rootViewController;
tabController.delegate = self;
return YES;
}
我的视图控制器.m
-(void) tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController {
UINavigationController *navcon = (UINavigationController*)tabBarController.selectedViewController;
[navcon popToRootViewControllerAnimated:NO];
}
还向按钮添加了 IBAction 以更改按下按钮时选择的选项卡。
- (IBAction)firstButtonPressed:(id)sender {
[self.tabBarController setSelectedIndex:1];
}
我在模拟器、iPhone 5 和第三代 iPod touch 上对其进行了测试。