Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/116.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
具有许多不同视图的iOS应用程序_Ios_Ios5_View - Fatal编程技术网

具有许多不同视图的iOS应用程序

具有许多不同视图的iOS应用程序,ios,ios5,view,Ios,Ios5,View,我正在开发一个iOS应用程序,我希望它有超过10个视图。在Android中,您必须创建一个布局,然后创建它的类。我一直试图在XCode中实现这一点,但我不知道如何做到 其思想是为视图创建一个类,以便每个类都管理自己的视图。到目前为止,我所做的是: 1-创建一个名为Overview和子类UIViewController的新Objective-C类,然后检查Witch XIB的用户界面 2-为了显示我使用的视图:[[NSBundle mainBundle]loadNibNamed:@“Overvie

我正在开发一个iOS应用程序,我希望它有超过10个视图。在Android中,您必须创建一个布局,然后创建它的类。我一直试图在XCode中实现这一点,但我不知道如何做到

其思想是为视图创建一个类,以便每个类都管理自己的视图。到目前为止,我所做的是:

1-创建一个名为Overview和子类UIViewController的新Objective-C类,然后检查Witch XIB的用户界面

2-为了显示我使用的视图:
[[NSBundle mainBundle]loadNibNamed:@“Overview”所有者:self选项:nil]

3-在viewDidLoad中,我使用以下内容:
self.view.backgroundColor=[UIColor colorWithPatternImage:[UIImage imageNamed:@“overview_-Grait.jpg]”
更改背景图像

我可以看到视图,但背景没有改变,当我添加按钮并单击它们时,会抛出错误:
-[ViewController push:]:无法识别的选择器发送到实例0x7427220

怎样才能达到我想要的


提前谢谢你

推送ViewController用于导航控制器,因此如果您正在查看interface builder,如果您的屏幕视图(我不确定您是否使用故事板或XIB)如果您可以更改的视图附加到标记为“导航控制器”的灰色框中,则您可以使用:

        [self.navigationController pushViewController:myNewViewInstance animated:YES];
        [self presentModalViewController:<#(UIViewController *)#> animated:<#];(BOOL)#>];
对于背景图像,您最好使用:

UIImageView *myBackground = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.width)];
            [self.view addSubview:myBackground];
            [self.view sendSubviewToBack:myBackground];
如果未使用导航控制器,则可以使用:

        [self.navigationController pushViewController:myNewViewInstance animated:YES];
        [self presentModalViewController:<#(UIViewController *)#> animated:<#];(BOOL)#>];
[自我呈现ModalviewController:动画:];
这将显示新的viewcontroller,然后返回使用:

[self dismissModalViewControllerAnimated:<#(BOOL)#>]; 
[自我解除ModalViewController:];

对于很多视图,我发现故事板是最好的,当创建一个新项目时,勾选“使用故事板”框,然后您可以轻松查看所有视图,并通过按钮按下和其他方式创建模式转换,而不是使用CTRL+单击并从
view1
上的按钮拖动,以及在
view2
上的任意位置取消拖动并单击模式,这将允许您进行转换。

我不确定Android的设置,但对于iOS,您希望实例化视图控制器,而不是nib文件。您要做的是创建一个新的overview类并用nib初始化它

Overview *overviewController = [[Overview alloc] initWithNibName:@"Overview" bundle:nil];

您正在显示视图,但没有加载其控制器,这就是为什么没有调用控制器的方法。您必须创建控制器类的实例,并从当前控制器推送它。大概是这样的:

Overview *overview = [[Overview alloc] initWithNibName:@"Overview" bundle:nil];
[self pushViewController:overview animated:YES];

非常感谢。我应该把那段代码放在哪里?我从iOS开发开始…此代码显示/从当前控制器推送一个新控制器,放置位置取决于您正在解决的问题,您必须向我们提供有关它的更多详细信息才能回答此问题,此外,您是在使用故事板还是在创建基于nib的应用程序?谢谢!我应该把那段代码放在哪里?我从iOS开发开始……如果你试图在不同的屏幕上导航,那么presentModalViewController将在一个but中或在特定事件结束时运行。对于dismissModalViewController,这将在您之前显示的屏幕中的事件结束时进行。背景可以放在任何地方-(BOOL)视图将出现,但我建议阅读这个小教程,它快速且轻松地进入故事板转换。我一直在阅读该教程,我发现故事板更多的是将视图链接为“故事”,在我的应用程序中,我希望从任何其他视图访问所有视图。示例:我有5个视图:1、2、3、4、5。在故事板中,如果我没有错的话,我必须通过以下方式访问:1->2->3->4->5,我想要的是:1->3->2->5->2->4->3。。。我能做到吗?