Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/25.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
Objective c 我试图弹出一个web视图,然后允许用户返回,我做错了什么_Objective C_Cocoa_Ios4 - Fatal编程技术网

Objective c 我试图弹出一个web视图,然后允许用户返回,我做错了什么

Objective c 我试图弹出一个web视图,然后允许用户返回,我做错了什么,objective-c,cocoa,ios4,Objective C,Cocoa,Ios4,我的应用程序有3个视图的tabBarController,在其中一个视图中,我想弹出一个能够返回应用程序的web浏览器。为此,我正在使用UINavigationController。 在myAppDelegate.h中,我定义了属性UINavigationController*nav,在myAppDelegate.m中,我定义了@synthesis nav。 在webPopup函数所在的类中,当按下按钮时,我的代码进入该函数 - (IBAction)showWeb:(id)sender { my


我的应用程序有3个视图的tabBarController,在其中一个视图中,我想弹出一个能够返回应用程序的web浏览器。为此,我正在使用UINavigationController。
在myAppDelegate.h中,我定义了属性UINavigationController*nav,在myAppDelegate.m中,我定义了@synthesis nav。
在webPopup函数所在的类中,当按下按钮时,我的代码进入该函数

- (IBAction)showWeb:(id)sender {
myAppDelegate *app=[[UINavigationController alloc] initWIthRootViewController:self];
// because I want to return back to the same view
webController *web = [[webController alloc] initWithStyle:UITableViewStypeGrouped];
[app.nav pushViewController:web animated:YES];
app.nav.view.frame = CGRect(,0,320,430);
[self.view.window addSUbview:app.nav.view];
}
网页弹出窗口出现,但它是垂直移动的,当我按下“后退按钮”时,我以前的视图也会出现,它也会从以前的视图垂直移动。 来回走了几次后,这东西就挂起来了

问题:
1.什么因素会导致移位?
2.当我返回“返回”查看标题时,如何避免(通过“返回”按钮进行测试,我认为这可能会导致返回时发生变化。
3.如何找出几次尝试后它挂起的原因

谢谢。 维克多

这句话:

myAppDelegate *app=[[UINavigationController alloc] initWIthRootViewController:self];
对我来说毫无意义。你的编译器肯定在警告你这一点?什么是“myAppDelegate”定义?顺便说一下,类的前面应该有一个大写字母

还有,线路

[self.view.window addSUbview:app.nav.view];

是非常可疑的,因为应用程序的UIWindow应该只有一个子UIView。你不应该随意添加更多视图,并期望一切正常。可以通过删除旧视图并添加新视图来更改子UIView,但你似乎没有这样做。UIWindow的多个子UIView会导致错误你很快就会遇到麻烦——例如,设备方向的改变可能会中断。

我不太清楚为什么要处理应用程序代理(或窗口)才能完成你正在尝试的操作。听起来你应该只使用标准的导航视图控制器和Web视图


另外,您可以在不进行任何内存管理的情况下进行初始化。

好的,那么应该怎么做?我是iphone开发人员,myAppDelegate类是由IB创建的。我输入了不正确的myAppDelegate app=(myAppDelegate)[[UIApplication sharedApplication]delegate];然后app.nav=我以前输入的内容。