iPadOS 13.4からマウスやトラックパッドのサポートが強化されました。
一部のUIKitは自動で対応してくれますが、その他は自分で実装可能です。
意外と簡単だったので最小実装をしてみようと思います。
最小実装
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var targetView: UIView!
override func viewDidLoad() {
super.viewDidLoad()
let pointerInteraction = UIPointerInteraction(delegate: self)
targetView.addInteraction(pointerInteraction)
}
}
extension ViewController: UIPointerInteractionDelegate {
func pointerInteraction(_ interaction: UIPointerInteraction, styleFor region: UIPointerRegion) -> UIPointerStyle? {
guard let interactionView = interaction.view,
targetView == interactionView else {
return nil
}
let targetedPreview = UITargetedPreview(view: interactionView)
let effect = UIPointerEffect.lift(targetedPreview)
let pointerStyle = UIPointerStyle(effect: effect)
return pointerStyle
}
}
どうでしょうか?簡単ですね。ここからいじって拡張してみてください。
こちらも気になったらどうぞ iPadOS 13.4 Pointer InteractionsでAppleロゴのポインタを出す
参考
Pointers (iPadOS) - Human Interface Guidelines
Pointer Interactions - Apple Developer