我正在制作我编写的Android应用程序的iPhone版本(所以请耐心等待)。该应用程序有一个主视图,基本上显示一个Web视图和一些控制webview的控件。我已经让这部分应用程序在UIWindow
上面工作了。
该应用程序的另一部分是“个人资料”页面,允许用户在表单中输入一些个人资料信息。由于选项数量庞大,我使用UITabBarController
将thing接口放在一个单独的XIB中,以便将所有内容保存在一起。我已经为应用程序的这一部分设置了一个委托类,以便我可以对视图中的表单字段进行操作。
当应用程序启动时,它应该在第一次运行时向用户显示“配置文件”视图,然后在用户在应用程序中选择“配置文件”时显示配置文件视图。
我遇到的问题是我似乎无法找到一个好的例子(或者很好地理解)如何使应用程序加载视图和它的委托。如果这是在Android下,我会继承Activity
并让它加载适当的接口文件。
到目前为止,我有一个视图控制器:
@implementation customizeViewController
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
if ((self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil])) {
// Custom initialization
}
return self;
}
- (void)dealloc {
[super dealloc];
}
@end
在应用程序委托标题内,我有这个设置来保存我的“个人资料”视图:
UIView *CustomizeWindow;
在didFinishLaunchingWithOptions
内,我有以下内容:
CustomizeWindow = [[customizeViewController alloc] initWithNibName:@"CustomizeWindow" bundle:[NSBundle mainBundle]];
[window makeKeyAndVisible];
...其中CustomizeWindow
是“个人资料”视图文件的文件名。
我尝试了几种不同的方式来显示它,例如将其作为子视图添加到窗口而presentModalViewController
没有成功。我怀疑这个谜题有一块我错过了,所以任何帮助都会受到赞赏。
答案 0 :(得分:1)
从我能读到的一切,都没有办法真正做到这一点。解决方案是抛弃一切并使其更简单。在这种情况下,自定义视图控制器使用UIScrollView包含其他视图,然后以编程方式加载其他xib文件。
类似的东西:
NSArray *pages = [[NSBundle mainBundle] loadNibNamed:@"CustomizePage1" owner:self options:nil];
UIView *page1 = [pages objectAtIndex:0];
[page1 setBounds:CGRectMake(0, -20, page1.frame.size.width, page1.frame.size.height)];
[self.scroller addSubview:page1];
对要加载到滚动视图中的每个xib执行上述操作。