在保留滚动行为的同时向UITableView添加空消息

时间:2014-11-06 15:22:30

标签: ios uitableview autolayout

我想在UITableView为空时向用户显示空消息。有一些尝试,包括使用

  • backgroundView: 我的UILabel保持居中但如果滚动表格视图,则消息位置保持不变。对于我目前的布局,这看起来很奇怪。
  • addSubView: 这是我目前使用的解决方案。因为我添加了另一个视图自动布局破坏了我的方法这里的消息随着需要滚动,但由于副作用,它不可用。
  • 页眉/页脚视图: 你如何正确地在这里居中以及高度怎么样?
  • 一个特殊的细胞:你怎么在这里有正确的高度?中心怎么样?

如果可能,我想在我的情况下使用自动布局。以下是我的要求:

  • 消息(也可以是带有文本的图像)应该在表格视图中居中。
  • 如果滚动表格视图,则消息应在表格视图上具有固定位置。它应该像滚动视图上的标签一样滚动标签,但滚动视图的高度与屏幕高度相关。
  • 应该可以进行刷新。

可在应用程序“app store”中看到一个示例。如果您处于飞行模式并导航到“更新”选项卡,则可以看到此行为。在iPhone上,它似乎是一个单独的单元格。不知道它在iPad上是什么。也许是一样的。但是如何实现呢?

1 个答案:

答案 0 :(得分:1)

您可以采取两种方法:

方法1 - 显示/隐藏(清洁)

您可以根据是否有任何内容有条件地隐藏或显示tableview。如果没有内容,请隐藏tableview并显示要显示的任何占位符视图。每当您的数据刷新时,只需再次调用该方法以确定要显示的视图。

方法2 - 特殊部分

您可以为“无内容”表格查看消息创建一个全新的部分,如果没有内容,则在tableView:numberOfSectionsInTableview返回1,有条件地显示您的特殊单元格。