从 UIControl 显示 UIPopoverPresentationController?

Display an UIPopoverPresentationController from a UIControl?

我正在写一个 UIControl。当用户触摸控件的某个区域时,我需要显示一个弹出窗口。但当然是通常的代码:

[self presentViewController:self.popover animated:YES completion:nil];

不起作用,因为我们在 UIControl 中,而不是在 UIViewController 中。 如何从 UIControl 显示弹出框?

你应该用rootViewController来呈现。

使用UIApplication.sharedApplication.delegate.window.rootViewController代替self

[UIApplication.sharedApplication.delegate.window.rootViewController presentViewController:self.popover animated:YES completion:nil];