仅使用MainWindow.xib在不同视图之间切换

时间:2011-02-28 17:26:51

标签: iphone objective-c xcode uiview

嘿伙计们, 很抱歉,如果我是这个xcode界面构建器的新手,但我需要一些帮助,如何仅使用MainWindow.xib在不同视图之间切换,而不是创建更多的.xib文件。基本上,我有一个标签栏控制器有3个标签栏项目,在我的第三个标签栏项目我有一个UIView包含一个UIImageView并有几个按钮。现在我希望这些按钮打开一个新视图,例如,我的一个按钮,我希望它打开一个导航控制器,它包含我的移动博客,并且使用后退按钮,我想返回我的第三个标签栏项目视图。

我一直在谷歌和YouTube上寻找这些帮助,但他们一直在说的是创建另一个.xib视图控制器文件,但是甚至没有人谈到仅使用MainWindow.xib创建不同的视图。我希望你们能帮助我解决这个问题并逐步向我解释如何做到这一点,谢谢

1 个答案:

答案 0 :(得分:1)

解决这个问题的常用方法是:

通过继承UINavgationController来创建导航视图控制器,以管理按下按钮时要显示的视图:

// BlogNavigationController.h

@interface BlogNavigationController : UINavigationController {}
@end

// BlogNavigationController.m
@implementation BlogNavigationController

- (void)viewDidLoad {
  //manipulate views here
}

@end

在主视图控制器中按下按钮操作时,您希望将此导航控制器推到当前堆栈或呈现模态视图控制器:

// In Button pressed action
BlogNavigationController *blogVC = [[BlogNavigationController alloc] init];
[self.navigationController pushViewController:blogVC animated:YES];

// In Button pressed action
BlogNavigationController *blogVC = [[BlogNavigationController alloc] init];
[self presentModalViewController:controller animated:YES];

我不确定为什么你这么不愿意创建一个nib文件--IB实际上只是一种帮助你构建你的观点的方法。无论您是在IB中执行此操作还是以编程方式执行此操作都取决于您。

希望这有帮助。