Latest 1.2
Homepage https://github.com/YuAo/TDWatchInterfaceMenu
License MIT
Platforms ios 8.0, requires ARC
Authors

CocoaPods Platform
CocoaPods Version
CocoaPods License

Usage

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)
    }
}

Problem to Solve

WKInterfaceController has some methods to add and remove menu items.

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()

However, these methods require the WKInterfaceController object to be the one that handles the menu action. You cannot specify the target of the action.

TDWatchInterfaceMenu provides a way to add a menu item with a block as the action handler. More importantly, it decouples the menu item from the implementation of interface controller, makes it easier to reuse the menu item or, more commonly, the interface controller.

Contributing

If you find a bug and know exactly how to fix it, please open a pull request.

If you can’t make the change yourself, please open an issue after making sure that one isn’t already logged.

License

The MIT license

Latest podspec

{
    "name": "TDWatchInterfaceMenu",
    "version": "1.2",
    "summary": "Add menu item with a block as it's action handler to `WKInterfaceController`",
    "homepage": "https://github.com/YuAo/TDWatchInterfaceMenu",
    "license": {
        "type": "MIT",
        "file": "LICENSE"
    },
    "authors": {
        "YuAo": "[email protected]"
    },
    "requires_arc": true,
    "platforms": {
        "ios": "8.0"
    },
    "source_files": "TDWatchInterfaceMenu/*.{h,m}",
    "source": {
        "git": "https://github.com/YuAo/TDWatchInterfaceMenu.git",
        "tag": "1.2"
    }
}

Pin It on Pinterest

Share This