2013-04-17 66 views
1

我有一个UIScrollView水平堆叠3 UITableViews。我使用顶部的选项卡控制器在这些桌面视图之间切换。但是,当我切换到第二个或第三个选项卡并快速切换回第一个section headers不显示。当我滚动tableView时,它们会显示。这些是custom headers(jfyi)。我试着打电话setNeedsDisplay时的tableView是可见的,但这并没有帮助,因为按照苹果文档:UITableView Section Headers not visible when table in visible rect

如果单纯改变视图的几何结构,视图通常不是重绘。而是根据视图的contentMode属性中的值调整其现有内容。通过避免重绘未改变的内容,重新显示现有内容可以提高性能。

因为只有视图的几何形状在这里发生变化,所以没有帮助。这也发生在所有版本iOS 5~6.1以及模拟器和设备上。谢天谢地,这不会让应用程序崩溃,但它仍是一个问题。有人可以帮忙吗?我附上图片以供参考。首先说明了什么问题,第二:我用简单的scrollRectToVisible:animated: 到tableviews之间切换:滚动 “头(ER)少” 的tableview

Headless TableView sectionsWe have a Head. Ta-da !!

编辑后。这是伎俩,但我只是观察到,当我设置...animated:NO一切都没关系。这个问题发生在...animated:YES

+0

如果没有看到转换代码很难回答,问题可能出在这里。 – ilmiacs

+0

@ilmiacs我编辑了这个问题。 – unspokenblabber

+0

尝试使用“UIPageViewController”而不是滚动视图。 – ilmiacs

回答

0

看来,显示和滚动同时发生在相应的tableview的问题。所以,你可以在这里做的是:

  1. 删除滚动动画 或
  2. 只需滚动实现代码如下顶部的选项卡新闻发布会 或
  3. 只需重新加载它是由可见的tableView