美文网首页iOS 开发
UIPickerView、UIToolBar

UIPickerView、UIToolBar

作者: 懒惰的习惯 | 来源:发表于2015-12-30 21:54 被阅读1917次

    1、UIPickerView
    UIPickerView是类似于comboBox的控件,只是在html中,comboBox是在控件底部下拉出值选项,而UIPickerView是直接在屏幕底部显示出滚动值选项,两者有相似点也有不同点,最关键的是comboBox是html中控件,而UIPickerView是iOS中的控件。
    在使用UIPickerView时最关键的是添加“取消”、“确定”按钮。其他的类似于UITableView使用代理即可实现数据的获取。

    - (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
    {
        return _array.count;
    }
    
    - (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
    {
        return 1;
    }
    
    - (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
    {
        NSString *string = _array[row];
        return string;
    }
    
    - (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
    {
        self.selectItem = _array[row];
    }
    

    2、UIToolBar
    这是在UIPickerView上添加按钮时需要用到的控件,多的不说,直接贴代码。

    NSMutableArray *barItems = [NSMutableArray array];
        UIBarButtonItem *cancelBtn = [[UIBarButtonItem alloc] initWithTitle:@"\t取消" style:UIBarButtonItemStylePlain target:self action:@selector(toolBarCanelClick)];
        [barItems addObject:cancelBtn];
        // 中间弹簧,将取消、确定分隔在左右两端
        UIBarButtonItem *flexSpace = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:self action:nil];
        [barItems addObject:flexSpace];
        
        UIBarButtonItem *doneBtn = [[UIBarButtonItem alloc] initWithTitle:@"确定\t" style:UIBarButtonItemStyleDone target:self action:@selector(finishBtnClick:)];
        // 添加的顺序是从左至右,按顺序来的,并且相隔的距离都很近,不远,但添加弹簧后自适应最适合的位置
        [barItems addObject:doneBtn];
        
        pickerToolBar.items = barItems;
        
        [self addSubview:pickerToolBar];      
    

    3、在使用UIPickerView与UIToolBar组合写一个类似comboBox的控件时,使用了封装的思想,将两个组件要实现的功能用方法代替,细节都直接封装在方法中,让控件尽可能的脱离项目而可独立存在。

    // 数据源
    @property (nonatomic, strong) NSArray *array;
    // 实例方法
    + (instancetype)pickerView;
    + (void)show;
    + (void)hide;
    

    相关文章

      网友评论

        本文标题:UIPickerView、UIToolBar

        本文链接:https://www.haomeiwen.com/subject/khvihttx.html