从 iOS 8 开始 popoverController 就变成 UIPopoverPresentationController, 由于最近的项目中用到了UIPopoverPresentationController, 因此出于备忘的目的,在此记录下我踩过的坑。 UIPopoverPresentationController 大小自适应 UIPopoverPresentationController大小自适应可以通过修改UITableViewController的preferredContentSize属性来进行实现,首先在UITableViewController代码文件中,override 三个方法,如下: override func viewWillAppear() { self.tableView.addObserver(self, forKeyPath: "contentSize", options: .new, context: nil) } override func observerValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey: Any]