SFSCollectionMenu 0.3.0

SFSCollectionMenu 0.3.0

TestsTested
LangLanguage Obj-CObjective C
License MIT
ReleasedLast Release Dec 2014

Maintained by BJ Miller.



  • By
  • BJ Miller

An open-source menu control for iOS utilizing UICollectionView layout.

SFSCollectionMenu is an open-source control for a UICollectionView-based menu. SFSCollectionMenu is designed for iOS 7, and is ARC-compliant. It works by utilizing a delegate pattern to allow you, the developer, the implement it easily and add your own code to customize its appearance and behavior. SFSCollectionMenuController's designated initializer is -initWithDelegate, as the delegate is required for operation.

Accessibility

This menu control is written to be accessible by blind/low-vision users. The delegate protocol has required methods to implement this. The menu control will check if Voice Over is on, and if so, it will implement a close button in the center of the control so that when swiping through the controls using Voice Over, the user has an obvious opportunity to cancel the menu if not wanting to choose a button.

Contact

If you use this framework, I'd love to hear from you! Here's how to contact me:

To use

Method A: 1. Use CocoaPod $ edit Podfile platform :ios, '7.0' pod 'SFSCollectionMenu', '~> 0.2.0' 2. Install CocoaPod $ pod install

Method B: 1. Add the following files to your project

  • SFSCollectionMenuController (.h/.m)
  • SFSCircleLayout (.h/.m)
  • SFSMenuCell (.h/.m)
  • UIImage+ImageEffects (.h/.m)
    1. Import SFSCollectionMenuController.h to your controller
    2. Adhere to the SFSCollectionMenuDelegate protocol
    3. Create an instance of the menu controller by [[SFSCollectionMenuController alloc] initWithDelegate:self], or whatever object you designate as the delegate
    4. Implement the required methods, and any optional methods you wish
  • NOTE: if your view is inside a container view controller (such as UINavigationController or UITabBarController), return self.tabBarController.view or self.navigationController.view to blur the whole screen in the -viewForMenu delegate method
    1. Call -showMenuWithLightEffect: on your instance of SFSCollectionMenuController

Screenshots

iPad portrait iPhone 4 inch portrait

To do

  • nothing at the moment