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;
});
}
我正在使用 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;
});
}