码迷,mamicode.com
首页 > 移动开发 > 详细

ios(学习)UIPickerView&&UIDatePicker&&toolBar

时间:2015-08-31 10:15:00      阅读:224      评论:0      收藏:0      [点我收藏+]

标签:控件

UIPickerView

轮转界面提供多值选项,和tableView挺类似

1.首先初始化,并设置大小,这里的大小设置是否有作用,再试。

    _picker = [[UIPickerView alloc]initWithFrame:CGRectMake(0, 100, 375, 300)];

2.实现两个代理方法UIPickerViewDelegate,UIPickerViewDataSource

    _picker.delegate = self;

    _picker.dataSource = self;

3.加到view上类似于其他控件的使用

[self.view addSubview:_picker];

4.要实现的代理方法

----1.返回多少列

-(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView{


    return 1;

}

----2.返回多少行,每一列中的多少行

-(NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component{



    return self.flags.count;


}

----3.自定义pickview的行,用来显示内容的

-(UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view{

    return flagView;

}

----4.返回pickerView的高度

-(CGFloat)pickerView:(UIPickerView *)pickerView rowHeightForComponent:(NSInteger)component{

    return 100;

}

----5.返回宽度

-(CGFloat)pickerView:(UIPickerView *)pickerView widthForComponent:(NSInteger)component{


    return 200;


}


----6.数据,可以直接显示内容的。

-(NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{

    NSArray *items = self.foods[component];

    

    return items[row];


}

----7.选中时候的,选中的效果

-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component{

1》找到列

    NSArray *items = self.foods[component];

2》找到行

    NSString *str = items[row];

    NSLog(@"%@",str);

    NSLog(@"%ld,%ld",row,component);


}

----8.刷新第一列的。类似tableView的刷新

[_pickView reloadComponent:1];

----9.不管之前第二列时几行,重新刷新之后都显示第二列的第二行

[_pickView selectRow:1 inComponent:1 animated:YES];


UIDatePicker

1.初始化

_datePicker = [[UIDatePicker alloc]initWithFrame:CGRectMake(20, 150, 300, 200)];

2.设置中文时间

    _datePicker.locale = [[NSLocale alloc]initWithLocaleIdentifier:@"zh_CN"];

设置为中国、,如果不设置默认为英文显示

3.跟踪所有可用的地区,取出想要的地区

    NSLog(@"%@", [NSLocale availableLocaleIdentifiers]);

4.设置DatePicker的日历。 默认为当天。

    [_datePicker setCalendar:[NSCalendar currentCalendar]];

5.timeZone 设置DatePicker的时区。默认为设置为:

    [_datePicker setTimeZone:[NSTimeZone defaultTimeZone]];

6..countDownDuration设置DatePicker的倒计时间.

 ----1) 设置日期选择的模

    [_datePicker setDatePickerMode:UIDatePickerModeCountDownTimer];

 ----2) 设置倒计时的时长  

  ----3 倒计时的时长,以秒为单位

    [_datePicker setCountDownDuration:10 * 60];

7.转换格式,显示当前的年月日

    [_datePicker setDatePickerMode:UIDatePickerModeDate];

8.默认的选中模式

    [_datePicker setDatePickerMode:UIDatePickerModeDateAndTime];

9显示小时和分钟

      [_datePicker setDatePickerMode:UIDatePickerModeCountDownTimer];

 [self.view addSubview:_datePicker];


设置textField输入框的输入方式为UIDatePicker

1.采用这种方法就可以看改变下面的输入框的问题

    UIDatePicker *p = [[UIDatePicker alloc]init];

2.text的输入选择位UIDatePicker日期选择器

text.inputView = p;

[self.view addSubview: text];

3.设置的一个toolBar

    UIToolbar *toolBar = [[UIToolbar alloc]initWithFrame:CGRectMake(0, 0, 375, 49)];

    UIBarButtonItem *bar = [[UIBarButtonItem alloc]initWithTitle:@"第一个" style:UIBarButtonItemStylePlain target:self action:nil];

4.加一个固定的长度作为弹簧效果

    UIBarButtonItem *barFit = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];

    UIBarButtonItem *bar1 = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(bar:)];

5.将设置的按钮加到toolBar上

toolBar.items = @[bar,barFit,bar1];

6.toolBar加到text的输入框也就是UiDatePicker

text.inputAccessoryView = toolBar;

版权声明:本文为博主原创文章,未经博主允许不得转载。

ios(学习)UIPickerView&&UIDatePicker&&toolBar

标签:控件

原文地址:http://blog.csdn.net/sinat_29998157/article/details/48129031

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!