是否可以在 tableView 之后放置 UIWebView?

Posted

技术标签:

【中文标题】是否可以在 tableView 之后放置 UIWebView?【英文标题】:is it possible to put a UIWebView after tableView? 【发布时间】:2011-03-01 18:22:45 【问题描述】:

我正在使用基于导航的应用程序。它解析提要并在 tableView 中显示数据。在我的主 tableView 中,我想在最后插入一个 UIWebView。是否有可能使该 tableView 有点小并在那之后放置一个 UIWebView ?谢谢

【问题讨论】:

【参考方案1】:

基于导航的应用程序模板使用 UITableViewController。当您将此类更改为更通用的 UIViewController 并添加您的 tableView 和 webview 时,您可以这样做。

改变

@interface RootViewController : UITableViewController 


@end

进入

@interface RootViewController : UIViewController 
    UITableView *tableView;
    UIWebView *webView;

@property (nonatomic, retain) IBOutlet UITableView *tableView;
@property (nonatomic, retain) IBOutlet UIWebView *webView;
@end

然后在界面生成器中打开 RootViewController.xib。

    删除tableView。 从库中添加一个视图。 Control-单击-从文件所有者拖动到视图上,然后选择视图出口。 在视图中添加一个 TableView。根据您的需要调整它的大小。 Control-Click-Drag 从文件所有者到 tableview。选择 tableView 插座。 CC-从 tableview 拖动到文件所有者,选择委托和数据源。 添加 UIWebView。现在你应该知道该怎么做了。

【讨论】:

是的,它工作正常。谢谢。但有一个问题。当我单击某个单元格时,其 DetailView 会显示其详细信息。当我回去时,我点击的那个单元格仍然是蓝色的。就像当你单击某个单元格时它变成蓝色一样。当我回到主 tableView 时,如何摆脱那种蓝色。谢谢 您可以将 [tableView deselectRowAtIndexPath:indexPath animated:YES]; 添加到您的 didSelect... 方法中【参考方案2】:

是的,可以尝试在索引 0 处插入子视图

UITableViewCell *cell = [[[UITableViewCell alloc] 
                         initWithStyle:UITableViewCellStyleDefault
                         reuseIdentifier:@"cell"] autorelease];

UIWebView *webview = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, cell.frame.size.width, cell.frame.size.height)];

NSString *html = @"some string";  
[webview loadHTMLString:html baseURL:nil];
[webview setBackgroundColor:[UIColor clearColor]];
[webview setOpaque:NO];

[cell insertSubview:webview atIndex:0];

return cell; 

【讨论】:

【参考方案3】:

我认为您不能限制 UITableView 的高度以便在其后附加 UIWebView。但是你总是可以在你的视图层次结构中将 UIWebView 放在 UITableView 的前面,如果这适合你的话——但它会一直在你的屏幕上可见,即在向下滚动到你桌子的尽头。

如果您需要向下滚动并然后显示网络视图,也许您可​​以将它放在表格视图单元格中(显然是最后一个)。

【讨论】:

如果它一直可见就可以了。但我希望它像工具栏一样位于屏幕的末尾。如何将 UIWebView 放在 UITableView 前面? 您完全可以将 UITableView 对象的框架设置为您想要满足您需求的任何内容。你可以在同一个视图控制器中同时拥有 UITableViews 和其他 UIKit 元素。

以上是关于是否可以在 tableView 之后放置 UIWebView?的主要内容,如果未能解决你的问题,请参考以下文章

在 TableView 标题下放置拉动以刷新控件

在底部加载最近的消息并放置一个加载旧消息按钮以在 TableView 上加载旧消息

在 UITableViewController 子类中的 tableView 后面放置一个 UIImageView

行分隔符上的标签 - Swift Tableview - 每小时日历

Swift 获取 tableview 数组计数并将其放置 textview

为 iOS 应用返回带有丰富标记的文本