选择 UITableViewCell 时 UITabBar 消失

Posted

技术标签:

【中文标题】选择 UITableViewCell 时 UITabBar 消失【英文标题】:UITabBar disappears when selecting UITableViewCell 【发布时间】:2012-09-05 08:28:11 【问题描述】:

我有一个 UITableView,其中有一个名为“Sunset”的单元格。按下 UITableViewCell 后,视图会切换到“infoView”,它会从 .txt 文件中加载一些文本。当按下“返回”按钮时,视图切换回 UITableView,但出现了问题。加载视图后,UITabBar 不见了!既然已经消失了,就不可能再回到另一个视图了。

我试过了:

self.hidesBottomBarWhenPushed = NO;

代码:

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 

    [tableView deselectRowAtIndexPath:indexPath animated:YES];
    UITableViewCell *cellSelected = [tableView cellForRowAtIndexPath:indexPath];
    NSString *cellTitle = cellSelected.textLabel.text;

    if (cellTitle == @"Sunrise")
     //Swap views
        informationView *iv = [[informationView alloc] initWithNibName:nil bundle:nil];
        [self presentModalViewController:iv animated:YES]; 
    

【问题讨论】:

让我们看看 didSelectRowAtIndexPath 中的代码以及创建 tableView 的位置 始终编辑您的原始问题以添加代码,而不是添加评论... 【参考方案1】:

当然标签栏不显示。您正在模态地呈现第二个视图。如果你想保留这个实现,你将不得不在第二个视图上添加一个按钮或其他东西来执行

[self.navigationController dismissModalViewControllerAnimated:YES];  //Programatically dismiss the view controller

如果你想保留tabBar和导航栏的功能,你应该使用

[self.navigationController pushViewController:iv animated:YES];

而不是

[self presentModalViewController:iv animated:YES];

【讨论】:

以上是关于选择 UITableViewCell 时 UITabBar 消失的主要内容,如果未能解决你的问题,请参考以下文章

使用 AutoLayout 将 UIView 隐藏在单元格内时,不适合 UITableViewCell 高度

在 UITableviewCell 中使用 UICollection 视图时未调用 UICollectionView 委托方法“didSelectItemAtIndexPath”

在 iOS 中使用自定义单元格时无法查看 UITableViewCell

UITableviewcell的性能问题

UITableviewcell 是错误的数据

UITableViewCell 中 UIImageView 上的 UITapGestureRecognizer