我有父/子视图控制器,但 UITableViewController 有点像 Child VC 的生涩。

Posted

技术标签:

【中文标题】我有父/子视图控制器,但 UITableViewController 有点像 Child VC 的生涩。【英文标题】:I have parent/child view controllers but UITableViewController is kinda jerky as Child VC. 【发布时间】:2012-11-13 18:56:10 【问题描述】:

这里最好用图片来展示应用的样子,我创建了一个自定义选项卡父控制器来处理每个选项卡:

现在这个表格视图控制器非常简单,我有 500 行并且我正在重用单元格:

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

    static NSString *CellIdentifier = @"Cell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    if (cell==nil) 
        cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier];

    

    // Configure the cell...
    cell.textLabel.text = @"TESTING";


    return cell;

但是,当我运行它时,在模拟器中(尚未在设备上测试),滚动视图在滚动时非常烦人,尤其是会变慢。当我只是将 TableViewController 作为主 VC 运行时,它的性能要好得多,而且我几乎没有注意到任何抽搐。是否需要调整 tablviewcontroller 以使其作为子视图控制器更好地执行?是我对父/子 VC 的实现搞砸了吗?

任何想法都将不胜感激。

【问题讨论】:

我认为我们需要看看您如何实现您的父/子 VC 以帮助您。 是的,你可能是对的,我只是犹豫是否要发布大量代码。我实际上发现了这个问题,我最终在设备上运行它并且它运行良好。我知道我应该先检查一下,但我只是假设我的 MBP(i7 4GB Ram)会比设备运行得更快,但它必须以不同的方式处理图形。 【参考方案1】:

好吧,我在设备上对其进行了测试,一切似乎都运行良好,我认为模拟器的图形效果不佳。我将进行更多测试和研究以找出原因,但我很高兴它起作用了。

【讨论】:

以上是关于我有父/子视图控制器,但 UITableViewController 有点像 Child VC 的生涩。的主要内容,如果未能解决你的问题,请参考以下文章

子视图有父级的阴影,即使有背景

如何在被父视图部分裁剪的子视图上触发 UITapGestureRecognizer?

为父级调用渲染的主干子视图

UISegmentedControl 在视图控制器之间切换

(自动布局)容器视图调整大小但子视图不

强制更新子视图控制器的 safeAreaInsets