[英]Loading UITabBarController from separate XIB into Window app on iPhone
我正在制作自己编写的iPhone版本的Android应用程序(请耐心等待)。 该应用程序具有一个主要视图,该视图主要显示一个Web视图以及一些其他控制Web视图的控件。 我已经在UIWindow
运行了应用程序的这一部分。
该应用程序的另一部分是“个人资料”页面,该页面允许用户在表单中输入一些个人资料信息。 由于选项数量众多,我使用UITabBarController
将事物接口放在单独的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
均未成功。 我怀疑这个谜题中缺少我想要的东西,因此我们将不胜感激。
从我可以阅读的所有内容来看,没有办法真正做到这一点。 解决方案是将所有内容都扔掉并简化它。 在这种情况下,使用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执行上述操作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.