les*_*hka 6 objective-c uisplitviewcontroller ios
我有一个SplitView模板项目.我想在RootViewController中的用户选择项上更改DetailView.
事实上,我不能只改变视图中的内容(DetailView),就像在模板中完成一样(在创建项目时检查"使用核心数据存储").我想在整个视图之间切换.
我试过了:
AppDelegate *appDelegate = [UIApplication sharedApplication].delegate;
[appDelegate.detailViewController setView:curretnDetailViewController.view];
appDelegate.detailViewController = currentDetailViewController;
Run Code Online (Sandbox Code Playgroud)
顺便说一下我不明白为什么我需要第2行(..setView:..)?为什么分配detailViewController(第3行)是不够的? - 代码看起来很糟糕=(
但无论如何,这并不完全符合我的要求.除detailView之外的所有内容都会消失.就像我改变了主视图,而不仅仅是DetailViewController
我想我应该在splitViewController中更改一些内容但是没有找到什么=(
感谢您的关注.
dar*_*bid 18
一周前我也有你的问题,我在这个论坛上也得不到什么帮助.我希望我能为你改变这一点.
首先你知道苹果有一个Multi Detail View的例子吗?这是Apple的例子
您必须了解splitviewcontroller是什么来了解Apple正在做什么.将splitview控制器视为设备窗口中的容器.这个容器有2个隔间,左侧较薄,右侧较大.现在要改变任何一侧,你必须用另一个类似大小和性质的隔间替换这个隔间.你不能放在一个不适合的隔间或做一些花哨的东西,因为它根本不适合.
在技术谈话中,在示例中找到以下代码.splitview控制器有一个包含2个视图的数组,您可以更改此数组中的视图.因此,在这个数组中是2个视图,左边称为navigationcontroller,右边是detailviewcontroller.如果您分配并启动视图并将其添加到这两个视图中的任何一个,则此视图将替换splitviewcontroller中的当前视图.
NSArray *viewControllers = [[NSArray alloc] initWithObjects:self.navigationController, detailViewController, nil];
splitViewController.viewControllers = viewControllers;
Run Code Online (Sandbox Code Playgroud)
现在到你的问题的第二部分 - 我认为是从左侧你想要能够总是能够选择一些东西并且能够改变右手......我是对的吗?
我已经阅读了三种不同的方法,并没有看到任何人说一个比另一个好.
我不是专家,所以我没有为上面3个选项中的每一个添加代码,我建议你做一些谷歌搜索主题,你会看到例子.如果你真的被困在一个让我知道,我会尝试再次与谷歌找到我过去发现的例子.我认为最不复杂的是No.1.
我希望这能让你朝着正确的方向前进.
| 归档时间: |
|
| 查看次数: |
9709 次 |
| 最近记录: |