动态调整UITableView和Today扩展的大小

动态调整UITableView和Today扩展的大小,uitableview,autolayout,ios8,ios-app-extension,Uitableview,Autolayout,Ios8,Ios App Extension,尝试根据内容大小动态调整UITableView的大小后失败: self.tableViewPairedDevices.sizeToFit() 我尝试了这个,只要我的“今日”小部件足够高,可以完全显示出来,它就工作得很好: var frame:CGRect = self.tableViewPairedDevices.frame frame.size.height = self.tableViewPairedDevices.contentSize.height se

尝试根据内容大小动态调整UITableView的大小后失败:

    self.tableViewPairedDevices.sizeToFit()
我尝试了这个,只要我的“今日”小部件足够高,可以完全显示出来,它就工作得很好:

    var frame:CGRect = self.tableViewPairedDevices.frame
    frame.size.height = self.tableViewPairedDevices.contentSize.height
    self.tableViewPairedDevices.frame = frame
我的下一个挑战是让iOS 8 Today小部件根据UITableView大小调整大小,我几乎解决了这个问题:

    self.preferredContentSize = self.tableViewPairedDevices.contentSize;
    self.tableViewPairedDevices.setTranslatesAutoresizingMaskIntoConstraints(false)
问题是,一次只能使用其中一个,如果UITableView调整了大小,扩展的视图就不工作,如果我注释掉调整UITableView大小的代码,今天的扩展就成功地调整了大小(奇怪的是,它知道UITableView应该是多大,即使UITableView本身还没有调整大小)但UtableView没有

对如何实现这两个目标有什么建议吗


非常感谢

通过禁用扩展视图上的自动布局,我可以使上述代码完美工作

不要忘记UITableView中有一个滚动条。你需要以某种方式定义高度

我向UITableView添加高度约束,然后将该值更新为contentSize.height

这就行了