• Stars
    star
    122
  • Rank 292,031 (Top 6 %)
  • Language
    Objective-C
  • License
    MIT License
  • Created over 9 years ago
  • Updated almost 7 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Multiple selection view for iOS 7.0+.

SHMultipleSelect

SHMultipleSelect is an easy-to-use multiple selection view for iOS 7.0+.

Created by Shamsiddin https://www.linkedin.com/in/shamsiddin

Installation

Cocoapods

SHMultipleSelect is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod "SHMultipleSelect", "~> 0.2.2"

Manually

  • Copy class files from Pod/Classes folder to your project

Usage

  • Import SHMultipleSelect.h and implement SHMultipleSelectDelegate protocol
  • See Demo project for more details

Delegate methods

- (void)multipleSelectView:(SHMultipleSelect*)multipleSelectView clickedBtnAtIndex:(NSInteger)clickedBtnIndex withSelectedIndexPaths:(NSArray*)selectedIndexPaths;
- (NSString*)multipleSelectView:(SHMultipleSelect*)multipleSelectView titleForRowAtIndexPath:(NSIndexPath*)indexPath;
- (BOOL)multipleSelectView:(SHMultipleSelect*)multipleSelectView setSelectedForRowAtIndexPath:(NSIndexPath*)indexPath;
#pragma mark - SHMultipleSelectDelegate

- (void)multipleSelectView:(SHMultipleSelect *)multipleSelectView clickedBtnAtIndex:(NSInteger)clickedBtnIndex withSelectedIndexPaths:(NSArray *)selectedIndexPaths {
    if (clickedBtnIndex == 1) { // Done btn
        for (NSIndexPath *indexPath in selectedIndexPaths) {
            NSLog(@"%@", _dataSource[indexPath.row]);
        }
    }
}

- (NSString *)multipleSelectView:(SHMultipleSelect *)multipleSelectView titleForRowAtIndexPath:(NSIndexPath *)indexPath {
    return _dataSource[indexPath.row];
}

- (BOOL)multipleSelectView:(SHMultipleSelect *)multipleSelectView setSelectedForRowAtIndexPath:(NSIndexPath *)indexPath {
    BOOL canSelect = NO;
    if (indexPath.row == _dataSource.count - 1) { // last object
        canSelect = YES;
    }
    return canSelect;
}

ARC

SHMultipleSelect uses ARC (Automatic Reference Counting).

If you are using SHMultipleSelect in your non-arc project, you will need to set a -fobjc-arc compiler flag on all of the SHMultipleSelect source files.

To set a compiler flag in Xcode, go to your active target and select the "Build Phases" tab. Now select all SHMultipleSelect source files, press Enter, insert -fobjc-arc and then "Done" to disable ARC for SHMultipleSelect.

Uses Frameworks

  • UIKit.framework
  • Foundation.framework
  • QuartzCore.framework

License

SHMultipleSelect is available under the MIT license. See the LICENSE file for more info.