Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/35.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
Iphone 从按钮加载外部视图控制器,单击另一个视图控制器_Iphone_Xcode_Uiviewcontroller_Camera - Fatal编程技术网

Iphone 从按钮加载外部视图控制器,单击另一个视图控制器

Iphone 从按钮加载外部视图控制器,单击另一个视图控制器,iphone,xcode,uiviewcontroller,camera,Iphone,Xcode,Uiviewcontroller,Camera,我现在正式对objective-c和xcode感到恼火。用PHP和Java编程非常简单,哈哈 无论如何,我需要一些帮助 我已经为iPhone创建了一个带有三个选项卡项的选项卡栏应用程序,在其中一个项上加载一个名为mapView的nib,其中包含一个按钮,我想使用该按钮加载另一个名为OverlayViewController的nib 我一直在学习这个教程 创建摄影机覆盖。我知道它是如何工作的,但我不知道如何从按钮或从选项卡栏直接运行视图控制器。我只能让覆盖层工作,如果我像在应用程序委托中的应用程序

我现在正式对objective-c和xcode感到恼火。用PHP和Java编程非常简单,哈哈

无论如何,我需要一些帮助

我已经为iPhone创建了一个带有三个选项卡项的选项卡栏应用程序,在其中一个项上加载一个名为mapView的nib,其中包含一个按钮,我想使用该按钮加载另一个名为OverlayViewController的nib

我一直在学习这个教程 创建摄影机覆盖。我知道它是如何工作的,但我不知道如何从按钮或从选项卡栏直接运行视图控制器。我只能让覆盖层工作,如果我像在应用程序委托中的应用程序启动示例那样加载它。如果我试图从选项卡条目加载它,我只会得到一个灰色的屏幕,看起来像空白视图控制器被加载,代码没有运行显示叠加。 如果有人能建议我如何从点击按钮,甚至直接从标签栏项加载覆盖,我将非常感激

谢谢Alex


p、 s.

@AlexApps我看过你的项目,有几条反馈意见

我认为,在你开始尝试让OverlyViewController工作之前,你应该先备份一下,阅读一些苹果文档,尤其是苹果文档。苹果文档大部分都写得很好,应该可以帮助您更好地理解视图和视图控制器,而不是代码中的内容

另一个建议是从一本书中获取一些免费可用的源代码,比如其中有一个关于如何布局基于tabBarController的应用程序的好例子。我相信还有其他一些很好的示例将向您展示如何组织视图和视图控制器,以便将它们加载到不同的选项卡中

我认为,如果你遵循这个建议,当你按照你所学到的重新构建你的应用程序时,你在做你想做的事情时会遇到更少的问题

BTW,您可能想考虑使用NavigeVIEW控制器,在加载OutLAVIEW控制器时按下按钮,但要花几个小时,慢下来,做一些有重点的阅读。这将使世界变得不同。如果你有更具体的问题,Stack Overflow和Google是你的朋友


最后一个技巧是,您不需要将IBOutlet放在实例变量和属性中,只需要一个或另一个,实际上,您甚至不再需要实例变量。我通常只对所有内容使用属性。

在第一页中首先导入uiviewcontroller类,如下所示:

#import "page2viewcontroller.h"
 #import "page1viewcontroller.h"
在按钮上单击下面的事件代码:

page2viewcontroller *page2 =[page2viewcontroller alloc] ;
[self presentModalViewController:page2 animated:NO];
[page2 release];
page1viewcontroller *page1 =[page2viewcontroller alloc] ;
[self presentModalViewController:page1 animated:NO];
[page1 release];
返回page2viewcontroller到page1viewcontroller后,如下所示:

#import "page2viewcontroller.h"
 #import "page1viewcontroller.h"
在backbutton上单击下面的事件代码:

page2viewcontroller *page2 =[page2viewcontroller alloc] ;
[self presentModalViewController:page2 animated:NO];
[page2 release];
page1viewcontroller *page1 =[page2viewcontroller alloc] ;
[self presentModalViewController:page1 animated:NO];
[page1 release];

就这些

我已经用故事板完成了,解决方案是在选项卡栏视图控制器和要加载的视图控制器之间创建一个分段,然后必须为该分段添加标识符。最后,在按下按钮时调用的方法中,必须输入以下内容:

[self performSegueWithIdentifier:@"segueId" sender:sender];
我现在就做了,效果非常好