【问题标题】:iOS Today Extension: cellForRowAtIndexPath never callediOS 今日扩展:cellForRowAtIndexPath 从未调用
【发布时间】:2014-08-12 19:39:41
【问题描述】:

我正在尝试在我的 Today 扩展中使用 UITableView。我想,这是大多数人想要做的。当我运行扩展时,numberOfSectionsInTableView 被调用,numberOfRowsInSection 被调用,但cellForRowAtIndexPath 从未被调用,因此表格视图永远不会显示。其他人在今天的扩展中使用表格视图取得了成功吗?

【问题讨论】:

  • 使用所有参数仔细检查方法名称的拼写是否正确。
  • 是的,拼写正确。

标签: ios uitableview ios8 xcode6 today-extension


【解决方案1】:

tableView 总是想知道它拥有的行数/节数,但通常只会在即将显示一个单元格时询问一个单元格。

tableView 不会请求它无法显示的单元格,尤其是当 tableView 没有高度时。

确保您的 ViewController 和 TableView 都具有非零区域框架!

如果小部件有其他内容要显示,您可以依赖 Auto 布局约束以适当调整小部件的高度。如果 你不使用自动布局,你可以使用 UIViewController 属性 preferredContentSize 指定小部件的新高度。

App Extension Programming Guide

【讨论】:

  • 并确保 numberOfRowsInSection 返回一个非零数字。
【解决方案2】:

除了确保 tableview 有高度之外,您还应该确保在主线程上调用 reloadData。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多