我的问题是:我不明白我们可以用nib文件创建一个ViewController,我们可以不用nib文件来创建它。我的意思是:例如,谁能给我解释一下模板,基于导航的应用程序是如何工作的,第一个实例化的对象是什么?
感谢您的回答
发布于 2011-03-18 00:05:02
实例化UIViewControler的唯一方法是:
- (id)initWithNibName:(NSString *)nibName bundle:(NSBundle *)nibBundle这意味着你“通常”要求它加载一个.nib文件...
但您也可以将"nil“传递给这两个参数:
myUIViewController = [[MyUIViewController alloc] initWithNibName:nil bundle:nil];...if你想要直接加载并自己管理它。通常,您创建UIViewController的subClass (在我的示例中为MyUIViewController),并在其@实现中实现方法loadView
您需要在其中创建类的视图
- (void)loadView{
UIView *aUIView = [[UIView alloc] initWithFrame:CGRectMake(0.0, 0.0, 320, 480)];
self.view = aUIView;
aUIView.backgroundColor = [UIColor colorWithRed:.2 green:.3 blue:.5 alpha:1];
// aUIView... other properties to set if needed...
[aUIView release];
}这样你就可以在没有".nib文件“的情况下管理它,只需通过代码添加所有对象和subView……
发布于 2011-03-17 22:32:19
应用程序的Info.plist文件包含一个名为"Main nib file base name“(NSMainNibFile)的属性。此处设置的nib文件(默认情况下为“MainWindow.xib”)控制将在启动时加载的内容。
如果您没有该设置,并且希望在没有默认nib文件的情况下启动应用程序,则需要在main.m文件中传入应用程序代理的名称。
int retVal = UIApplicationMain(argc, argv, nil, @"AppDelegate");http://blog.hplogsdon.com/ios-applications-without-any-nib-files/
https://stackoverflow.com/questions/5340402
复制相似问题