你完全不用费任何力气,即可让你 iPad App 的 Mac 版本支持 macOS 中的许多系统功能,其中包括:
App 的默认菜单栏
支持触控板、鼠标和键盘输入
支持调整窗口大小和全屏显示
Mac 风格的滚动条
拷贝和粘贴支持
拖放支持
支持系统触控栏控件
此外,你还可以扩展你的 App 来利用更多系统功能。
重要信息
用 Mac Catalyst 构建的 Mac App 只能使用 Mac Catalyst 中标记为可用的 AppKit API,例如 NSToolbar
和 NSTouchBar
。Mac Catalyst 不支持访问不可用的 AppKit API。
App 的 Mac 版本带有一个标准菜单栏。你可以通过使用 UIMenuBuilder
添加和移除菜单项,对其进行自定。要进一步了解,请参阅“向菜单栏和用户界面中添加菜单和快捷键”。
Mac App 通常会显示一个偏好设置窗口,供用户管理特定于 App 的设置。用户可以通过选择 App 菜单,然后选择菜单栏中的“偏好设置”菜单项来查看这个窗口。如果你的 App 具有设置套装,系统会自动为你的 App 提供一个偏好设置窗口。要进一步了解,请参阅“显示偏好设置窗口”。
采用分屏浏览控制器的 iPad App 在 macOS 中运行时,可以获得 Mac 风格的垂直分屏浏览视图。但是,要想让你的 iPad App 更像 Mac 的原生 App,你需要应用半透明效果来虚化桌面,使桌面融入主视图控制器的背景中。为此,请将分屏浏览控制器的 primaryBackgroundStyle
设置为 UISplitViewController.BackgroundStyle.sidebar
,如摘录 1 中所示。
摘录 1 为主视图控制器添加半透明背景
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { let splitViewController = window!.rootViewController as! UISplitViewController let navigationController = splitViewController.viewControllers[splitViewController.viewControllers.count-1] as! UINavigationController navigationController.topViewController!.navigationItem.leftBarButtonItem = splitViewController.displayModeButtonItem // Add a translucent background to the primary view controller. splitViewController.primaryBackgroundStyle = .sidebar splitViewController.delegate = self return true }
无论是选择文本栏还是移动窗口,Mac 用户都要依赖指针与 App 进行交互。在用户将指针移动到 UI 元素上时,一些元素的外观会发生改变。例如,在指针移动到链接上时,网页浏览器会高亮显示链接。
要检测用户何时将指针移到你 App 中的某个视图上,请将 UIHoverGestureRecognizer
添加到该视图中。这样一来,你的 App 便能知道指针何时进入或离开该视图,或何时在该视图上移动。
摘录 2 在指针移到按钮上时,将按钮的默认颜色更改为红色
class ViewController: UIViewController { @IBOutlet var button: UIButton! override func viewDidLoad() { super.viewDidLoad() let hover = UIHoverGestureRecognizer(target: self, action: #selector(hovering(_:))) button.addGestureRecognizer(hover) } @objc func hovering(_ recognizer: UIHoverGestureRecognizer) { switch recognizer.state { case .began, .changed: button.titleLabel?.textColor = #colorLiteral(red: 1, green: 0, blue: 0, alpha: 1) case .ended: button.titleLabel?.textColor = UIColor.link default: break } } }
分享标题:创新互联IOS教程:针对Mac优化你的iPadApp
文章来源:http://www.shufengxianlan.com/qtweb/news17/465667.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联