【代码笔记】iOS-自定义选择框

一,效果图。

二,工程图。

【代码笔记】iOS-自定义选择框

三,代码。

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