class InterfaceController: WKInterfaceController {
override func awakeWithContext(context: AnyObject?) {
super.awakeWithContext(context)
let menuItem = TDWatchInterfaceMenuItem(itemIcon: WKMenuItemIcon.Accept, title: NSLocalizedString("Accept", comment: ""), actionHandler: { (interfaceController, menuItem) -> Void in
println("Accepted!")
})
let menu = TDWatchInterfaceMenu(forInterfaceController: self)
menu.addMenuItem(menuItem)
}
}
WKInterfaceController
有一些方法可以添加和移除菜单项。
func addMenuItemWithImage(image: UIImage, title: String, action: Selector)
func addMenuItemWithImageNamed(imageName: String, title: String, action: Selector)
func addMenuItemWithItemIcon(itemIcon: WKMenuItemIcon, title: String, action: Selector)
func clearAllMenuItems()
然而,这些方法需要 WKInterfaceController
对象来处理菜单动作。您无法指定动作的目标。
TDWatchInterfaceMenu
提供了一种使用块作为动作处理器添加菜单项的方式。更重要的是,它将菜单项与界面控制器的实现解耦,使其更易于复用菜单项或更常见的是界面控制器。
如果您发现了一个错误并且知道如何修复它,请提交一个合并请求。
如果您无法自己进行修改,请在确认没有已记录的提交后,打开一个问题。
MIT 许可证