Tyl*_*ler 30
当你打电话时[AboutViewController init],它应该调用某种形式[super init],这是一个同义词[UIViewController init].发生这种情况时,视图控制器将自动查找名为(在您的情况下)的nib文件AboutViewController.xib.如果找到该文件,则会将其内容加载到视图控制器中.
基本上,您需要做的就是初始化视图控制器,并确保它与关联的nib文件具有相同的名称.
如果要将具有不同名称的nib文件加载到视图控制器中,可以initWithNibName:bundle:使用您喜欢的任何nib文件的名称显式调用.
如果标准init(具有相同名称的nib文件)不适合您,您可以检查几件事.
UIViewController子类的init方法也会调用[super init]UIViewController子类的init方法Ste*_*ler 11
使用"关于"屏幕,您可能只想显示视图然后将其关闭.因此,您可以只覆盖当前视图,而不是使用全新的视图控制器.
假设你有一个伊娃
UIView *aboutUsView;
Run Code Online (Sandbox Code Playgroud)
有适当的财产.
在您的视图控制器中执行:
[[NSBundle mainBundle] loadNibNamed:@"AboutUsView" owner:self options:nil]; // Retains top level items
[self.view addSubview:aboutUsView]; // Retains the view
[aboutUsView release];
Run Code Online (Sandbox Code Playgroud)
要删除视图,例如在连接到视图上按钮的操作中,请执行以下操作:
[aboutUsView removeFromSuperview], aboutUsView = nil; // Releases the view
Run Code Online (Sandbox Code Playgroud)