1

好的,我有一种情况,用户在我的应用程序中查找一个单词。关于单词的静态信息显示在屏幕的顶部 1/3。用户可以在屏幕底部 2/3 看到更多关于这个词的信息。此信息通过两个不同的视图显示...

第一个视图是显示用户活动的 UITableView,另一个是在 Internet 上查找单词的 UIWebView。我只是将 UIWebView 放在 UITable 视图的顶部,当用户按下按钮时,我只是隐藏/取消隐藏 UIWebView。

一切都很好,除了任何用户交互始终与 UIWebView 交互,即使它被隐藏,所以用户无法在现在可见的 UITableView 中滚动。

有没有一种简单的方法可以“停用” UIWebView,从而允许用户在隐藏在下面的 UITableView 中滚动?

现在的相关代码是:

- (IBAction)pressDictionaryTab:(id)sender {
    webView.hidden = NO;
}

- (IBAction)pressHistoryTab:(id)sender {
    webView.hidden = YES;
}

干杯:-)

4

2 回答 2

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];
}
于 2012-09-14T05:13:05.563 回答
1

从 UIWebView 文档:

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

如果您在 iPhone 下,请使用 Web 视图推送一个新的视图控制器。在 iPad 下,在 UIPopoverController 中显示一个小的视图控制器。

于 2012-09-13T23:22:33.173 回答