Objective c 在a";“单视图应用程序”;
免责声明:我对iOS开发非常陌生。请原谅这个问题的愚蠢:) 我在XCode中启动了一个“单视图应用程序”,现在它在一个“故事板”中有了一个接口,所有这些都与代码连接在一起,工作得很好。现在,我意识到我需要另一种观点。最简单的方法是什么(现在创建另一个视图,并在代码中在它们之间切换)。我真的不在乎动画 任何帮助都将不胜感激。谢谢Objective c 在a";“单视图应用程序”;,objective-c,ios,Objective C,Ios,免责声明:我对iOS开发非常陌生。请原谅这个问题的愚蠢:) 我在XCode中启动了一个“单视图应用程序”,现在它在一个“故事板”中有了一个接口,所有这些都与代码连接在一起,工作得很好。现在,我意识到我需要另一种观点。最简单的方法是什么(现在创建另一个视图,并在代码中在它们之间切换)。我真的不在乎动画 任何帮助都将不胜感激。谢谢 编辑:非常感谢您的帮助。我最终创建了一个没有弧或故事板的新项目,并将最低版本设置为4.0。然后我使用Mats Stijlaart的答案。最简单的方法是使用导航控制器和另
编辑:非常感谢您的帮助。我最终创建了一个没有弧或故事板的新项目,并将最低版本设置为4.0。然后我使用Mats Stijlaart的答案。最简单的方法是使用导航控制器和另一个ViewController 在情节提要中,选择其中存在的ViewController。然后,单击菜单中的“编辑器”并选择“嵌入”>NavigationController 其次,创建一个新的UIViewcontroller子类,将UIViewcontroller拖到情节提要上。并在Identity Inspector中将其类设置为刚刚创建的viewcontroller 第三,单击ctrl键并从第一个viewController拖动到刚才拖动到情节提要上的viewController。将弹出一个弹出窗口。单击“推送”。您刚刚创建了一个segue。祝贺你:) 单击分段(视图控制器之间的线),并在属性检查器中为其指定一个标识符 接下来,在代码中,执行以下操作([segue identifier]是您刚才给出的标识符):
我想就是这样!希望我没有忘记任何重要的事情;) 在项目中添加新的UIViewController子类 在情节提要中,将新的视图控制器拖动到现有情节提要旁边的情节提要中。在标识检查器中,将自定义类设置为新的视图控制器类 在原始视图控制器上放置一个新按钮,然后按ctrl键将其拖动到新的视图控制器上。从序列类型弹出窗口中选择“模态” 此时,您将能够运行应用程序,按下“新建”按钮,新视图控制器的视图将出现
要切换回第一个视图,您需要在新视图控制器中使用另一个按钮,该按钮调用
dismissModalViewController:animated:
。剩下的就看你了!祝你好运 如果要从XIB创建新视图,请执行以下操作:
- 创建UIViewController子类。(.h+.m)
- 做一个空的锡伯
- 使UIViewController子类成为XIB的文件所有者
- 添加一个UIView
- Ctr从文件所有者拖动到UIView,以将视图属性链接到UIView
- 提出你的观点
- (IBAction) myEvent:(id)sender {
ViewControllerSubClass *subClass = [[ViewControllerSubClass alloc] initWithNibName:@"YourXIB" bundle:nil];
subClass.view.frame = self.view.frame;
subClass.view.autoresizingMask = self.view.autoresizingMask;
[self.view.superview addSubview:subClass.view];
//ARC
instanceVarSubClass = subClass;
//NO ARC
self.instanceVarSubClass = subClass;
[subClass release];
}
您应该创建一个强实例变量(ARC)或带有(retain)关键字的属性
希望这会有所帮助。我对iOS开发也很陌生,没有太多故事板方面的经验,但我为客户开发的应用程序在他们的需求方面相当简单,因此我希望能够针对4.0之前的iOS版本 如果您的应用程序的情况类似(即您不使用iOS 4/5的任何主要功能),那么我建议您坚持使用XIB文件。ThomasM给出了比我使用故事板更详细的答案,但对于XIB和NavigationController,它非常简单:
[self.navigationController pushViewController:dvController animated:YES];
你不需要代码来执行这个序列,因为故事板已经可以了,但是我想不出你错过了什么。很好的回答和我的一个合理的替代方案-OP现在可以选择是否需要导航或模式视图。抱歉,收回我的评论的第一部分-如果您刚刚将其从一个视图控制器连接到下一个视图控制器,您将需要代码来执行该过程。我以为你说过用按钮连接它。
[self.navigationController pushViewController:dvController animated:YES];