UIPopoverPresentationController 动画 preferredContentSize

UIPopoverPresentationController animate preferredContentSize

我正在使用 UIPopoverPresentationController 将我的 tableView 控制器呈现为 PopOver。我可以将其 preferredContentSize 更改为 tableView contentSize,如下所示,

- (void)viewDidAppear:(BOOL)animated {
     [super viewDidAppear: animated];
     self.preferredContentSize = self.tableView.contentSize;
}

这里的问题是 contentSize 正在立即更改,这看起来不太好。我试过像 这样的动画,但它不起作用。任何帮助将不胜感激。

P.S。我尝试更改 viewWillAppear 中的 contentSize 但它不起作用 我使用的是 Objective C 而不是 Swift.

试试这个:

- (void)viewDidAppear:(BOOL)animated {
     [super viewDidAppear: animated];

     dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
         self.preferredContentSize = self.tableView.contentSize;
     });
}