首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UIViewController

UIViewController
EN

Stack Overflow用户
提问于 2011-03-17 22:27:31
回答 2查看 646关注 0票数 2

我的问题是:我不明白我们可以用nib文件创建一个ViewController,我们可以不用nib文件来创建它。我的意思是:例如,谁能给我解释一下模板,基于导航的应用程序是如何工作的,第一个实例化的对象是什么?

感谢您的回答

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-03-18 00:05:02

实例化UIViewControler的唯一方法是:

代码语言:javascript
复制
- (id)initWithNibName:(NSString *)nibName bundle:(NSBundle *)nibBundle

这意味着你“通常”要求它加载一个.nib文件...

但您也可以将"nil“传递给这两个参数:

代码语言:javascript
复制
myUIViewController = [[MyUIViewController alloc] initWithNibName:nil bundle:nil];

...if你想要直接加载并自己管理它。通常,您创建UIViewController的subClass (在我的示例中为MyUIViewController),并在其@实现中实现方法loadView

您需要在其中创建类的视图

代码语言:javascript
复制
    - (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……

票数 0
EN

Stack Overflow用户

发布于 2011-03-17 22:32:19

应用程序的Info.plist文件包含一个名为"Main nib file base name“(NSMainNibFile)的属性。此处设置的nib文件(默认情况下为“MainWindow.xib”)控制将在启动时加载的内容。

如果您没有该设置,并且希望在没有默认nib文件的情况下启动应用程序,则需要在main.m文件中传入应用程序代理的名称。

代码语言:javascript
复制
int retVal = UIApplicationMain(argc, argv, nil, @"AppDelegate");

http://blog.hplogsdon.com/ios-applications-without-any-nib-files/

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5340402

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档