WebView 或其他视图

Posted

技术标签:

【中文标题】WebView 或其他视图【英文标题】:Either WebView or another View 【发布时间】:2014-01-03 21:38:34 【问题描述】:

我是 ios 开发新手,也有一位导师,大部分时间都在帮助我,但他目前不在。

所以我正计划从 JSON 提要制作一个应用程序(我能想到的最简单的应用程序想法)。但是 JSON 提要所涉及的页面支持具有 url 或评论的帖子(也是 JSON 文件中的属性)。因此,如果评论可用,则帖子不包含网址。但反过来也一样:如果帖子包含 url,则其中没有评论。

我现在要做的是检查UITableView上点击的当前帖子是否有评论或url,然后切换到WebView或普通View。

如何做到这一点?因为我将 UITableView 与通过 Storyboard 显示评论的 View 连接起来。

我当前的 prepareForSegue 看起来像:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender

    if ([[segue identifier] isEqualToString:@"showDetail"]) 
        NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
        NSDictionary *story = stories[indexPath.row];

        NSNumber *storyId = story[@"id"];
        [[segue destinationViewController] setDetailItem:storyId];
    

【问题讨论】:

【参考方案1】:

为您的表格视图设置数据源,然后在 tableView:cellForRowAtIndexPath: 方法中检查您的帖子是否有 URL 或评论。根据它是哪一个,您可以创建正确的视图并将该视图添加到 UITableViewCell 的 contentView。

类似的东西

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 

//Create your cell

UIView* contentView = nil;
if (<isURLPost>)

    contentView = <CreateAndSetUpYourWebView>;

else

    contentView = <CreateAndSetUpYourOtherView>;


[cell.contentView addSubView:contentView];


【讨论】:

以上是关于WebView 或其他视图的主要内容,如果未能解决你的问题,请参考以下文章

Swift 中的 Webview 管理

禁用 WebView 的拖放以支持其超级视图之一

ScrollView 内的 Android WebView 仅滚动滚动视图

滚动视图内的iOS webView:根据设备方向更改高度

Objective C - WebView无法从顶部重新加载

Flutter for Web 中的 WebView 未加载 Google 地图或其他