
在以前版本的Xcode中,有一个名为mainWindow的xib文件,我们可以在其中:
>将我们的UIApplicationDelegate实现连接到UIApplication的代理插座
>将UIWindow连接到UIApplicationDelegate
>将UIVIEwController连接到UIWindow的rootVIEwController属性.
但是现在(Xcode 4.2)不会创建这个xib文件!
那么如何创建自定义UINavigationController并将其连接到InterfaceBuilder中的UIApplicationDelegate实现?
这是我在UIApplicationDelegate实现中的代码:
- (BOol)application:(UIApplication *)application dIDFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ SDWebImageRootVIEwController *root = [[SDWebImageRootVIEwController alloc] initWithNibname:nil bundle:nil]; _navigationController = [[[UINavigationController alloc] initWithRootVIEwController:root] autorelease]; self.window.rootVIEwController = _navigationController; [[_navigationController navigationbar] setbarStyle:UIbarStyleBlack]; [[_navigationController navigationbar] setTranslucent:YES]; [_window addSubvIEw:[_navigationController vIEw]];}解决方法 首先,是的,即使在最新版本的Xcode中,你仍然可以使用IB,所以我不确定你从哪里得到它. 如果您想知道如何在没有IB的情况下指定应用程序委托,那很简单:
在main方法中,只需使用应用程序委托的类名作为UIApplicationMain的第4个参数:
int main(int argc,char *argv[]){ @autoreleasepool { int retVal = UIApplicationMain(argc,argv,nil,@"APPliCATION_DELEGATE_CLASS_name"); return retVal; }} 实际上,当您从模板创建基于视图的应用程序时,Xcode 4.2默认为您执行此 *** 作(尽管它不使用静态字符串…这可能比我的建议诚实,因为如果您将重构,它会被重构使用内置的重构等):
NsstringFromClass([AppDelegate class])
回答你的后续问题:好的,那我该怎么办?在接口中连接UINC插座?
不要打扰.
还是不相信我?好……这是一个教程……这是FIFTEEN的步骤! ……绝对毫无意义.
首先,创建应用程序:
打开main.m并用nil替换第四个参数:
创建一个新的xib,或者劫持现有的xib(我将在这里做),然后创建file的Owner类UIApplication.
接下来,从工具箱中添加一个Object,并将该类更改为您的UIApplicationDelegate子类:
现在,切换回文件所有者并将代理插座连接到您添加的UIApplicationDelegate.如果您正在执行我所做的 *** 作并劫持现有的xib,请删除视图引用.
现在从工具箱中添加UIWindow.
现在从工具箱中添加一个’UIVIEwController.这是你的customUIVIEwController.如果你想要aUINavigationControllerorUItableVIEwController`只需添加它.
如果使用自定义UIVIEwController类,请在此处指定类:
将UIWindow的rootVIEwController插座连接到UIVIEwController:
破解你的UIApplicationDelegate接口,制作或修改window属性,使其成为IBOutlet.
切换到实现并删除任何设置窗口和根视图控制器的“毫无价值”代码. (我在这里讽刺……这个简洁的代码完成了我们在这里所做的一切……只是通过编程而不是通过IB.)
切换回你的xib并连接你的UIApplicationDelegate的窗口.
现在,在目标的部署信息中,将xib设置为“主界面”:
完成…. pshew!
总结以上是内存溢出为你收集整理的iphone – 使用Xcode 4.2的Interface Builder中的UIApplicationDelegate全部内容,希望文章能够帮你解决iphone – 使用Xcode 4.2的Interface Builder中的UIApplicationDelegate所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)