本文实例为大家分享了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
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持亿速云。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。