Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.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 添加到导航控制器时,UIWebView“衰减”为UIView_Iphone_Uiwebview - Fatal编程技术网

Iphone 添加到导航控制器时,UIWebView“衰减”为UIView

Iphone 添加到导航控制器时,UIWebView“衰减”为UIView,iphone,uiwebview,Iphone,Uiwebview,我正在开发一个简单的iPhone应用程序原型,在这个原型中,从UITableView中选择的内容会将用户带到显示某些内容的UIWebView。我的项目基于基于导航的应用程序模板,因此我有一个UINavigationController管理流程。问题是,当我将UIWebView添加到导航堆栈时,它似乎变成了一个通用的UIView,使我无法向它发送任何基于URL的内容 在Interface Builder中,我将UIViewController添加到项目中,将其类更改为DocViewControll

我正在开发一个简单的iPhone应用程序原型,在这个原型中,从UITableView中选择的内容会将用户带到显示某些内容的UIWebView。我的项目基于基于导航的应用程序模板,因此我有一个UINavigationController管理流程。问题是,当我将UIWebView添加到导航堆栈时,它似乎变成了一个通用的UIView,使我无法向它发送任何基于URL的内容

在Interface Builder中,我将UIViewController添加到项目中,将其类更改为DocViewController,并将UIWebView拖放到其中。DocViewController的视图出口指向UIWebView

选择UITableView中的项目后,我会在堆栈上推送DocViewController:

NSLog(@"selected the row, creating the DocViewController");
DocViewController *docViewController = [[DocViewController alloc] init];
[self.navigationController pushViewController:docViewController animated:YES];
[docViewController release];
我正在查看viewDidLoad处的视图出口,ViewWill将显示NSLog语句:

NSLog(@"at viewDidLoad have view as %@", [self view]);
NSLog(@"at viewWillAppear have view as %@", [self view]);
到目前为止还不错。。。我想。当应用程序启动时,DocViewController获取viewDidLoad,我看到:

at viewDidLoad have view as <UIWebView: 0xd21db0; frame = (0 20; 320 460);...
但是,当我从表视图中选择一个项目时,会再次调用viewDidLoad,然后调用ViewWillDisplay,我得到以下结果:

at viewDidLoad have view as <UIView: 0xd164e0; frame = (0 20; 320 460);...
at viewWillAppear have view as <UIView: 0xd164e0; frame = (0 0; 320 416);... 
因此,控制器在预加载时有一个UIWebView,但当它实际被推到堆栈上时,它有一个UIView


我觉得我在这里误解了一些基本的东西,或者走错了路,或者两者兼而有之。有人能在这里建议正确的模式吗,或者指出我歪了的地方吗?非常感谢

您可以尝试将UIWebView添加为控制器中主UIView的子视图。

我也有同样的问题。如果我将ViewController的视图出口设置为UIWebView,它将不起作用。但是web视图作为视图的子视图可以很好地工作。 有什么特别的原因吗,有人知道吗? 苹果的文档只说

重要提示:您不应该嵌入 中的UIWebView或UITableView对象 UIScrollView对象。如果你这样做, 可能导致意外行为,因为 两个对象的触摸事件可以 被混淆和错误处理