如何在SwiftUI中读取Apple Watch Ultra的Action按钮?
SwiftUI中读取Apple Watch Ultra Action按钮的方法
当然可以在SwiftUI中读取Apple Watch Ultra的Action按钮,watchOS 9及以上版本提供了专门的API来处理这个操作,实现方式比数码表冠的监听更直接。
基础实现示例
直接使用onActionButtonPress修饰符监听按钮点击事件:
struct ActionButtonDemo: View { @State private var isPressed = false var body: some View { Text(isPressed ? "Action按钮已按下" : "等待按下Action按钮") .onActionButtonPress { isPressed = true // 在这里编写按钮触发后的业务逻辑 } } }
兼容其他机型
如果需要适配不支持Action按钮的Apple Watch机型,可以先判断设备是否具备该硬件:
if WKInterfaceDevice.current().isActionButtonAvailable { // 仅在支持Action按钮的设备上执行相关逻辑 }
你提供的数码表冠监听代码是通过digitalCrownRotation绑定值来获取旋转状态,而Action按钮的监听是基于点击事件的回调,两者的API设计逻辑不同,但同样简洁易用。
内容的提问来源于stack exchange,提问作者Daniel
相关产品推荐
相关产品推荐

