一,效果图。
二,工程图。
三,代码。
RootViewController.h
#import <UIKit/UIKit.h>
#import "CYCustomMultiSelectPickerView.h"
@interface RootViewController : UIViewController
<CYCustomMultiSelectPickerViewDelegate>
{
CYCustomMultiSelectPickerView *multiPickerView;
UILabel *pickLabel;
}
@end
RootViewController.m
#import "RootViewController.h"
@interface RootViewController ()
@end
@implementation RootViewController
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
self.title=@"ALPickerView";
pickLabel=[[UILabel alloc]initWithFrame:CGRectMake(10, 100, 100, 50)];
pickLabel.backgroundColor=[UIColor orangeColor];
pickLabel.textAlignment=NSTextAlignmentCenter;
[self.view addSubview:pickLabel];
}
//随意点击任意处,弹出选择框
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
[self initPickerView];
}
-(void)initPickerView
{
for (UIView *view in self.view.subviews) {
if ([view isKindOfClass:[CYCustomMultiSelectPickerView class]]) {
[view removeFromSuperview];
}
}
multiPickerView = [[CYCustomMultiSelectPickerView alloc] initWithFrame:CGRectMake(0,[UIScreen mainScreen].bounds.size.height - 260-20, 320, 260+44)];
multiPickerView.backgroundColor = [UIColor clearColor];
multiPickerView.entriesArray = [NSMutableArray arrayWithObjects:@"one",@"two",@"three",@"four",@"five",@"six",@"seven", nil];
multiPickerView.entriesSelectedArray = [NSMutableArray arrayWithObject:@"one"];
multiPickerView.multiPickerDelegate = self;
[self.view addSubview:multiPickerView];
[multiPickerView pickerShow];
}
#pragma -mark -picker delegate
//点击确定要执行的操作
-(void)returnChoosedPickerString:(NSMutableArray *)selectedEntriesArr
{
NSLog(@"returnChoosedPickerString");
NSMutableArray* newArray = [NSMutableArray array];
for (NSString* str in selectedEntriesArr) {
[newArray addObject:str];
}
NSString *endStr = [newArray componentsJoinedByString:@","];
pickLabel.text=endStr;
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end