好的,我有一种情况,用户在我的应用中查找单词。有关该单词的静态信息显示在屏幕的前1/3处。用户可以在屏幕的底部2/3中查看有关此单词的更多信息。此信息通过两个不同的视图显示...
第一个视图是显示用户活动的UITableView,另一个是在Web上查看单词的UIWebView。我只是将UIWebView放在UITable视图的顶部,当用户按下按钮时,我只是隐藏/取消隐藏UIWebView。
一切都很好,除了任何用户交互总是使用UIWebView,即使它被隐藏,因此用户无法在现在可见的UITableView中滚动。
是否有一种简单的方法可以“停用”UIWebView,从而允许用户在下面隐藏的UITableView中滚动?
现在的相关代码是:
- (IBAction)pressDictionaryTab:(id)sender {
webView.hidden = NO;
}
- (IBAction)pressHistoryTab:(id)sender {
webView.hidden = YES;
}
干杯: - )
答案 0 :(得分:1)
来自UIWebView文档:
重要您不应在UIScrollView对象中嵌入UIWebView或UITableView对象。如果这样做,可能会导致意外行为,因为两个对象的触摸事件可能会混淆和错误处理。
如果您在iPhone下,请使用Web视图推送新的视图控制器。在iPad下,在UIPopoverController中显示一个小视图控制器。
答案 1 :(得分:1)
除了隐藏它之外,您可以尝试sendSubviewToBack,如下所示:
- (IBAction)pressDictionaryTab:(id)sender {
webView.hidden = NO;
tableView.hidden = YES;
[self.view sendSubviewToBack:tableView];
}
- (IBAction)pressHistoryTab:(id)sender {
webView.hidden = YES;
tableView.hidden = NO;
[self.view sendSubviewToBack:webView];
}