您的位置:首页 > 移动开发 > IOS开发

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

2017-03-16 10:39 471 查看
一,效果图。



二,工程图。



三,代码。

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


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: