我使用UIPopoverPresentationController
来呈现我的tableView控制器作为PopOver。我能够改变它的preferredContentSize tableviewcontentsize如下,
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear: animated];
self.preferredContentSize = self.tableView.contentSize;
}
这里的问题是contentSize被立即改变,这看起来不太好。我试着把它做成这样的动画,但是行不通。如有任何帮助,不胜感激。
注:我试着改变viewWillAppear
的内容大小,但它不起作用和我使用的是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;
});
}