zoukankan      html  css  js  c++  java
  • iOSUIPickerView使用

    #import <UIKit/UIKit.h>

     

    @interface ViewController : UIViewController<UIPickerViewDelegate,UIPickerViewDataSource>{

        

        NSArray *_nameArray;

    }

     

    @property (strong, nonatomic) UIPickerView *pickerView;

     

    @end

    #import "ViewController.h"

     

    @interface ViewController ()

     

    @end

     

    @implementation ViewController

     

    - (void)viewDidLoad {

        [super viewDidLoad];

        // Do any additional setup after loading the view.

        self.view.backgroundColor = [UIColor groupTableViewBackgroundColor];

        

        self.pickerView = [[UIPickerView alloc]initWithFrame:CGRectMake(0, 100, self.view.frame.size.width, 162)];

        self.pickerView.backgroundColor = [UIColor whiteColor];

        self.pickerView.delegate = self;

        self.pickerView.dataSource = self;

        [self.view addSubview:self.pickerView];

        

        [self.pickerView reloadAllComponents];//刷新UIPickerView

        

        _nameArray = [NSArray arrayWithObjects:@"北京",@"上海",@"广州",@"深圳",@"重庆",@"武汉",@"天津",nil];

        

    }

     

    #pragma mark pickerview function

     

    //返回有几列

    -(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView

    {

        return 3;

    }

    //返回指定列的行数

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

    {

        if (component==0) {

            return  5;

        } else if(component==1){

            

            return  [_nameArray count];

        }

        return [_nameArray count];

    }

    //返回指定列,行的高度,就是自定义行的高度

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

        return 20.0f;

    }

    //返回指定列的宽度

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

        if (component==0) {//iOS6边框占10+10

            return  self.view.frame.size.width/3;

        } else if(component==1){

            return  self.view.frame.size.width/3;

        }

        return  self.view.frame.size.width/3;

    }

     

    // 自定义指定列的每行的视图,即指定列的每行的视图行为一致

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

        if (!view){

            view = [[UIView alloc]init];

        }

        UILabel *text = [[UILabel alloc]initWithFrame:CGRectMake(0, 0, self.view.frame.size.width/3, 20)];

        text.textAlignment = NSTextAlignmentCenter;

        text.text = [_nameArray objectAtIndex:row];

        [view addSubview:text];

        //隐藏上下直线

      [self.pickerView.subviews objectAtIndex:1].backgroundColor = [UIColor clearColor];

       [self.pickerView.subviews objectAtIndex:2].backgroundColor = [UIColor clearColor];

        return view;

    }

    //显示的标题

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

        NSString *str = [_nameArray objectAtIndex:row];

        return str;

    }

    //显示的标题字体、颜色等属性

    - (NSAttributedString *)pickerView:(UIPickerView *)pickerView attributedTitleForRow:(NSInteger)row forComponent:(NSInteger)component{

        NSString *str = [_nameArray objectAtIndex:row];

        NSMutableAttributedString *AttributedString = [[NSMutableAttributedString alloc]initWithString:str];

        [AttributedString addAttributes:@{NSFontAttributeName:[UIFont boldSystemFontOfSize:18], NSForegroundColorAttributeName:[UIColor whiteColor]} range:NSMakeRange(0, [AttributedString  length])];

        

        return AttributedString;

    }//NS_AVAILABLE_IOS(6_0);

     

    //被选择的行

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

        

        NSLog(@"HANG%@",[_nameArray objectAtIndex:row]);

        

    }

    - (void)didReceiveMemoryWarning {

        [super didReceiveMemoryWarning];

        // Dispose of any resources that can be recreated.

    }

     

     

    /*

    #pragma mark - Navigation

     

    // In a storyboard-based application, you will often want to do a little preparation before navigation

    - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {

        // Get the new view controller using [segue destinationViewController].

        // Pass the selected object to the new view controller.

    }

    */

     

    @end

     

    效果如下:

  • 相关阅读:
    db_block_checking与db_block_checksum
    Provider=SQLNCLI10.1;Integrated Security="";Persist Security Info=False;User ID=sa;Initial Catalog=Depot;Data Source=192
    Delphi 获取文件路径
    ip地址查询方法
    SQL Server ADOConnectionString 怎么写
    jQuery 中的 attr
    【转】 JavaScript中With 语句使用方法实例
    【转】JS获取字符串长度(区分中英文)
    【转】ASP.NET 页面之间传递值的几种方式
    jQuery hover事件
  • 原文地址:https://www.cnblogs.com/sunfuyou/p/7145272.html
Copyright © 2011-2022 走看看