/SFSCollectionMenu

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

Primary LanguageObjective-CMIT LicenseMIT

SFSCollectionMenu

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