iOS界面开发:弹出框与分屏视图详解
1. 弹出框的展示与关闭
弹出框是一种呈现视图控制器的形式。要展示弹出框,可调用 present(_:animated:completion:)
方法;若想在代码中关闭弹出框,而非让用户通过点击弹出框外部来关闭,则调用 dismiss(animated:completion:)
方法。
弹出框展示控制器的代理( UIPopoverPresentationControllerDelegate
)能提供更多信息和控制。通常,在进行其他配置的地方设置代理,示例代码如下:
if let pop = vc.popoverPresentationController {
// ... 其他配置代码 ...
pop.delegate = self
}
常用的代理方法有:
- prepareForPopoverPresentation(_:)
:弹出框即将展示,可在此进行初始配置,如设置箭头指向的界面对象。
- popoverPresentationControllerShouldDismissPopover(_:)
:用户点击弹出框外部关闭弹出框时调用,返回 false
可阻止关闭,代码中关闭弹出框时不调用。
- popoverPresentationControllerDidDismissPopover(_:)