【问题标题】:UITableView not populating when Subview of Scollview滚动视图的子视图时 UITableView 未填充
【发布时间】:2012-06-05 16:38:45
【问题描述】:

更多背景知识:XIB 有一个UITableView 作为UIScrollView 的子视图, UIScrollViewUIView 的子视图。当它是UIScrollView 的子视图时,不会填充该表。我是 iOS 初学者。所以任何帮助都会很棒。

【问题讨论】:

  • 检查您的数据源和委托连接。
  • 嗨@Eimantas,我已经通过控制拖动到文件所有者连接了firstTableView。我还有“self.firstTableView.dataSource = self; and self.firstTableView.delegate”在 [super viewDidLoad];在 viewDidLoad 方法中。这听起来好吗?还有其他建议吗?谢谢
  • 如果[self.firstTableView reloadData]不是你的控制器的主tableView,你应该添加它。
  • 谢谢@Eimantas 尝试将其放在 [super viewDidLoad] 之后,但没有成功。对于我缺乏理解,“在主 tableView 中”是什么意思。

标签: objective-c ios uitableview ios5 uiscrollview


【解决方案1】:

检查您是否在 tableView:numberOfRowsInSection 方法中返回非零值。检查您是否在 tableView:cellForRowAtIndexPath 中做某事(您应该创建并填写一些信息)。 顺便说一句,你实现了吗?

“在主 tableView 中”是什么意思,请原谅我缺乏理解。

UITableViewController 中有一个UITableView,这是这个VC 的主视图(self.viewself.tableView 属性)。所以它会自动调用[self.tableView reloadData]。如果您要添加其他UITableViews 或将它们放在UIViewController 中,则应在viewDidLoad 中自行调用此方法。

【讨论】:

  • 谢谢@efpies,我被困 24 小时。我已经并且已经实施了上述检查,我 NSLog 了tableView:numberOFRowsInSection 的值,并且它是肯定的。是的,我已经填充了它们。我真的很困惑。我有代码here on pastebin。现在在 viewDidLoad 方法中的 `[super viewDidLoad] 之后添加了 self.firstTableView.delegate = selfself.firsttableView.dataSource = self;[self.firstTableView reloadData]。我还将 firsttableView ctrl 拖到数据源和委托的文件所有者。
  • 我检查了你的代码并在 iPhone 模拟器中启动了它——它可以工作。你在其他地方有一个错误。请在 zip 存档中上传整个项目目录并发布链接。
  • 您好@efpies,Here is the link 按要求。太感谢了。真的很感激。
  • 嘿@Eimantas 只是想我会让你知道链接已经建立,以防你感兴趣。干杯
  • 问题已解决。这是为 IB 中的 tableView 设置的自动调整大小约束。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-05-13
  • 1970-01-01
  • 1970-01-01
  • 2013-10-27
  • 2021-10-26
  • 2012-03-27
  • 2011-07-15
相关资源
最近更新 更多