objective-c – UISplitViewController以编程方式不带nibxib

objective-c – UISplitViewController以编程方式不带nibxib,第1张

概述我通常创建没有IB东西的项目.我做的第一件事是剥离所有对xibs,outlet更新plist等的引用.没问题,效果很好(在我的世界里)! 现在,我刚刚安装了3.2并试图开发我的第一个iPad应用程序.按照与以前相同的步骤,我创建了一个基于UISplitView的应用程序项目,并剥离了所有IB的东西.此外,我按照Apple的参考文档中的部分:Creating a Split View Control 我通常创建没有IB东西的项目.我做的第一件事是剥离所有对xibs,outlet更新pList等的引用.没问题,效果很好(在我的世界里)!

现在,我刚刚安装了3.2并试图开发我的第一个iPad应用程序.按照与以前相同的步骤,我创建了一个基于UISplitVIEw的应用程序项目,并剥离了所有IB的东西.此外,我按照Apple的参考文档中的部分:Creating a Split View Controller Programmatically,但是,从未显示主视图,只有详细视图(无论方向是什么).我真的试图仔细看看,但我无法理解我错过了什么.

是否有一个UISplitVIEwController的工作示例,没有在某处漂浮的笔尖?我用谷歌搜索但找不到任何东西.或者你知道我可能错过了什么吗?

解决方法 在你的委托标题中声明你的splitvIEwcontroller,在你的dIDfinishlaunching中使用这样的东西

确保您将UISplitVIEwControllerDelegate添加到detailedVIEwController头文件,并且您还拥有委托方法.记得导入相关的头文件

- (BOol)application:(UIApplication *)application dIDFinishLaunchingWithOptions:(NSDictionary *)launchOptions {        splitVIEwController = [[UISplitVIEwController alloc] init];    rootVIEwController *root = [[rootVIEwController alloc] init];    detailedVIEwController *detail = [[detailedVIEwController alloc] init];     UINavigationController *rootNav = [[UINavigationController alloc] initWithRootVIEwController:root];    UINavigationController *detailNav = [[UINavigationController alloc] initWithRootVIEwController:detail];    splitVIEwController.vIEwControllers = [NSArray arrayWithObjects:rootNav,detailNav,nil];    splitVIEwController.delegate = detail;    [window addSubvIEw:splitVIEwController.vIEw];

编辑 – 根据斯科特的优秀建议,不要添加到windows子视图

[self.window setRootVIEwController:(UIVIEwController*)splitVIEwController];  // that's the ticket    [window makeKeyAndVisible];    return YES;}//detailedVIEw delegate methods- (voID)splitVIEwController:(UISplitVIEwController*)svc      willHIDeVIEwController:(UIVIEwController *)aVIEwController           withbarbuttonItem:(UIbarbuttonItem*)barbuttonItem        forPopoverController:(UIPopoverController*)pc{      [barbuttonItem setTitle:@"your Title"];    self.navigationItem.leftbarbuttonItem = barbuttonItem;}- (voID)splitVIEwController:(UISplitVIEwController*)svc      willShowVIEwController:(UIVIEwController *)aVIEwController   invalIDatingbarbuttonItem:(UIbarbuttonItem *)barbuttonItem{    self.navigationItem.leftbarbuttonItem = nil;}

我也更喜欢IB的代码;-)

总结

以上是内存溢出为你收集整理的objective-c – UISplitViewController以编程方式不带nib / xib全部内容,希望文章能够帮你解决objective-c – UISplitViewController以编程方式不带nib / xib所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1086034.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存