【代碼筆記】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