一,效果图
二,代码。
ViewController.h
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController
<UIPickerViewDataSource,UIPickerViewDelegate>
@end
ViewController.m
#import "ViewController.h"
#define Color(r, g, b,d) [UIColor colorWithRed:(r)/255.0 green:(g)/255.0 blue:(b)/255.0 alpha:d]
#define W [UIScreen mainScreen].bounds.size.width
#define H [UIScreen mainScreen].bounds.size.height
@interface ViewController ()
{
NSMutableArray *arrayData;
UIView *chooseView;
}
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
//初始化选择界面
[self addChooseView];
}
#pragma -mark -functions
//初始化选择页面
-(void)addChooseView
{
//背景框
chooseView = [[UIView alloc]initWithFrame:CGRectMake(0,H- H*0.45, W, H*0.45)];
chooseView.backgroundColor = Color(230, 230, 230, 1);
[self.view addSubview:chooseView];
//完成按钮上面的线
UIView *line3 = [[UIView alloc]initWithFrame:CGRectMake(0, 0, W, 1)];
line3.backgroundColor = Color(202, 202, 202, 1);
[chooseView addSubview:line3];
//完成按钮下面的线
UIView *line4 = [[UIView alloc]initWithFrame:CGRectMake(0, 40, W, 1)];
line4.backgroundColor = Color(202, 202, 202, 1);
[chooseView addSubview:line4];
//完成按钮
UIButton *finishedBtn = [UIButton buttonWithType:UIButtonTypeCustom];
finishedBtn.frame = CGRectMake(W-50, 5, 50, 30);
[finishedBtn setTitleColor:[UIColor blueColor] forState:UIControlStateNormal];
[finishedBtn setTitle:@"完成" forState:UIControlStateNormal];
[finishedBtn addTarget:self action:@selector(doClickFinishButton) forControlEvents:UIControlEventTouchUpInside];
[chooseView addSubview:finishedBtn];
UIPickerView *choosePicker = [[UIPickerView alloc]initWithFrame:CGRectMake(0, 40, W, chooseView.bounds.size.height-40)];
choosePicker.delegate = self;
choosePicker.dataSource = self;
[chooseView addSubview:choosePicker];
arrayData=[[NSMutableArray alloc]initWithObjects:@"高",@"中",@"强",@"弱", nil];
}
#pragma -mark -doClickActions
-(void)doClickFinishButton
{
chooseView.hidden=YES;
NSLog(@"点击完成按钮");
}
#pragma -mark -UIPickerViewDelegate
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
return 1;
}
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
return arrayData.count;
}
- (NSString*)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{
return [arrayData objectAtIndex:row];
}
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
NSString *chooseStr = [NSString stringWithFormat:@"%ld", (long)row];
NSLog(@"---chooseStr--%@",chooseStr);
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end