iOS开发:iPad多任务处理与拖放功能详解
1. 动作发送机制
在iOS开发中,存在一种动作发送机制,即 Action:sender:
会作用于自身,并将动作方法发送给目标(如果有目标的话)。例如:
extension UIViewController {
@objc func showHide(_ sender: Any?) {
if let target = self.targetViewController(
forAction:#selector(showHide), sender: sender) {
target.showHide(self)
}
}
}
在这个例子中,我们不需要知道特定 UIViewController
子类对 showHide(_:)
的重写具体会做什么。重要的是,如果 showHide(_:)
被发送到一个没有重写它的视图控制器,它会在视图控制器层次结构中向上传递,直到找到一个重写了该方法的视图控制器,然后调用该重写方法。
2. iPad多任务处理
某些型号的iPad支持多任务处理,允许两个不同应用的窗口同时显示。主要有两种多任务模式:
- 滑过模式(Slideover) :一个应用以窄格式显示在另一个应用前面,大约占据屏幕宽度的三分之一。后面的应用继续占据