我有一个viewController,用UIWebView弹出一个模态视图。如果我访问一个特别重的页面,我开始获取内存警告,随后父视图被卸载。这一切都很好,但是当我关闭模态视图时,父母重新加载(按预期),但不能再处理任何触摸事件。该应用程序正确响应方向更改,但没有任何触摸会改变任何内容。按钮不起作用,UIWebView不响应滚动(但加载默认网站)等。就好像有一个透明的UIView覆盖我的整个窗口。任何想法,为什么这可能发生?为什么我的UIView在重新加载后没有响应?
下面是如何显示模式窗口:
BrowsingViewController* controller = [[BrowsingViewController alloc]
initWithNibName:UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad ?
@"BrowsingViewController-iPad" : @"BrowsingViewController"
bundle:nil initialURL:[[request URL] absoluteString]];
[self presentModalViewController:controller animated:YES];
[controller release];
以下是我关闭它(从模式的看法本身):
- (void) onCloseTouch
{
[self.parentViewController dismissModalViewControllerAnimated:YES];
}
编辑:
通过走出去视图层次结构,我没有注意到任何规范。这是我的主视图控制器的日志语句。他们我的两个模式的看法之前和之后我显示是相同的:
viewWillAppear called. =============== parentViewController subviews count=2 View [0] is a UINavigationTransitionView subview count=0 View [1] is a UINavigationBar subview count=2 subview [0] is a UINavigationItemView subview [1] is a UINavigationButton =============== self views subviews count=3 View [0] is a UIWebView with tag [1] subview count=1 subview [0] is a UIScrollView with tag [0] View [1] is a UIToolbar with tag [2] subview count=3 subview [0] is a UIToolbarTextButton with tag [0] subview [1] is a UIToolbarButton with tag [0] subview [2] is a UIToolbarButton with tag [0] View [2] is a UIView with tag [3] subview count=2 subview [0] is a UIActivityIndicatorView with tag [31] subview [1] is a UILabel with tag [32]
编辑#2: 这个问题似乎并没有出现在iPhone,iPad上只。我已经检查了我正在执行if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
的所有地方,并且这种逻辑似乎没有任何结果。
你是如何解散模态视图控制器?你怎么显示模态视图控制器?在这里显示一些代码可能会有帮助。 – 2010-09-04 00:35:03