Awesome Open Source
Awesome Open Source

image Language Pod Version Pod Platform Pod License Build Status

  • A fantastic way to select your buttons by NinaSelectionView.


  • [x] Low coupling to pop NinaSelectionView,just with one-line code methods to use it.
  • [x] Like AliPay pop style,and you can use it more flexible.
  • [x] Supports 12 pop styles,you can pop from above,below,left and right.
  • [x] Pop to anywhere as you wish.
  • [x] Support scroll when NinaSelection's height or width is longer than screen's.
  • [x] NinaSelectionView buttons can drag and exchange as you wish.
  • [x] Support Spring animation and normal animation.


Pop Styles

image image image image

Drag Feature



image image image


Drop in the Classes folder to your Xcode project.
You can also use cocoapods.

Using CocoaPods

Add pod 'NinaSelectionView' to your Podfile and run pod install.

pod 'NinaSelectionView'


You need add 'NinaSelectionView.h'(CocoaPods) to your project.Then load the codes:

NinaSelectionView *ninaSelectionView = [[NinaSelectionView alloc] initWithTitles:[self titlesArray] PopDirection:NinaPopFromAboveToTop];
[self.view addSubview:ninaSelectionView];

Then when you wanna show or dismiss NinaSelectionView,you need use:

[self.ninaSelectionView showOrDismissNinaViewWithDuration:0.5 usingNinaSpringWithDamping:0.8 initialNinaSpringVelocity:0.3];


[self.ninaSelectionView showOrDismissNinaViewWithDuration:0.5];

Yeah,that's all!

Other Settings and Tips

  • You can set necessary Array by following codes(please read the Example notes if you wanna to know more).
NSArray *titleArray = @[
  • To complete button actions,you need write NinaSelectionDelegate in your codes:
- (void)selectNinaAction:(UIButton *)button {
    NSLog(@"Choose %li button",(long)button.tag);
  • You can also set defaultSelected button,start from 1.
_ninaSelectionView.defaultSelected = 1;
  • Meanwhile,shadow background also can be set.(You must set shadowEffect to YES first,then you can set shadowalpha)
_ninaSelectionView.shadowEffect = YES;
_ninaSelectionView.shadowAlpha = 0.4;
  • If you wanna change buttons' parameters(column,width,height),you can go to UIParameter.h to change them.Meanwhile,you can change view' Y by using nina_popY in NinaSelectionView.

Change Log


First Release.


  • If you find bugs in this project or any suggestions,hope you can give me feedback by issues or Email me to [email protected].


This project uses MIT License.

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
objective-c (10,903
drag (110
select (93
selection (27
pop (26