如何加载 XIB? [英] How to load an XIB?

查看:14
本文介绍了如何加载 XIB?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

I have an app with 2 screens (MainViewController and AboutViewController). Upon the user clicking a button, I'd like to load the AboutViewController screen, which is defined in another XIB.

Seems simple, but I can't seem to find my google-fu today. How do I pull this off?

解决方案

When you call [AboutViewController init], it's expected to call some form of [super init], which is a synonym for [UIViewController init]. When this happens, your view controller will automatically look for a nib file called (in your case) AboutViewController.xib. If it finds that file, it loads it's contents into your view controller for you.

So basically, all you need to do is initialize your view controller, and make sure it has the same name as the associated nib file.

If you wanted to load a nib file with a different name into your view controller, you could explicitly call initWithNibName:bundle: with the name of whichever nib file you like.

If the standard init (with a same-name nib file) isn't working for you, there are a couple things you could check.

  • the spelling of the class name is the same as the spelling (and case) of the nib file
  • the nib file is included in the project, and not just sitting in the same directory
  • your UIViewController subclass's init method does also call [super init]
  • you are calling your UIViewController subclass's init method
  • you are indeed making your view controller's view visible

这篇关于如何加载 XIB?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆