动态调整今天小部件的大小

par*_*aro 5 ios swift today-extension xcode6.3

我在今天的小部件中实现了一个表格视图。tableView 没有固定数量的单元格。因此,小部件的高度必须动态改变。有人知道如何找出tableView的高度吗?如果我知道 tableView 的高度,我可以为今天的小部件使用相同的高度。或者有更好的解决方案吗?

我的代码:

var preferredViewHeight:CGFloat{return 132}

override func viewWillAppear(animated: Bool) {

  super.viewWillAppear(animated)
  self.tableView.reloadData()
  updateSize()
}

func updateSize() {

  var preferredSize = self.preferredContentSize
  preferredSize.height = self.preferredViewHeight
  self.preferredContentSize = preferredSize
}

func widgetPerformUpdateWithCompletionHandler(completionHandler: ((NCUpdateResult) -> Void)!) {

  self.tableView.reloadData()
  completionHandler(NCUpdateResult.NewData)
}
Run Code Online (Sandbox Code Playgroud)

Or *_*Ron 5

您可以通过使用tableView.contentSize它来实现这一点,它会告诉您表格内容的总大小。