pickerView

@interface ViewController ()

@property (weak, nonatomic) IBOutlet UILabel *label;


@property (weak, nonatomic) IBOutlet UIPickerView *pickerView;


@end


@implementation ViewController


- (void)viewDidLoad

{

    [super viewDidLoad];

    self.pickerView.dataSource = self;

    

    self.pickerView.delegate = self;

    

    self.fontNames= [UIFont familyNames];

    

    self.fontSize = @[@10.0,@12.0,@14.0,@16.0,@18.0];

    

    self.fontColors = @[

                        

     @{@"name":@"红色",@"color":[UIColor redColor]},

     @{@"name":@"白色",@"color":[UIColor whiteColor]},

     @{@"name":@"黄色",@"color":[UIColor yellowColor]},

     @{@"name":@"绿色",@"color":[UIColor greenColor]},

     @{@"name":@"蓝色",@"color":[UIColor blueColor]},

                    ];

    //同步label的字体设置

    UIFont *font = [UIFont fontWithName:self.fontNames[0] size:[self.fontSize[0]floatValue]];

    self.label.font = font;

    

    self.label.textColor = [self.fontColors[0] objectForKey:@"color"];


}

#pragma mark - datasource

-(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView

{

    return 3;

}


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

{

    //135

//    return component ==0?1:3;

//    return component == 2?3:component ==0?1:2;

//    return component == 2?self.fontColors.count:component ==0 ? self.fontNames.count : self.fontSize.count;

    switch (component)

    {

        case 0:

            return self.fontNames.count;

        case 1:

            return self.fontSize.count;

        case 2:

            return self.fontColors.count;

          

    }

    return 0;

   

}

#pragma mark -delegate

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

{

    NSString *str = nil;

    switch (component)

    {

        case 0:

            str = self.fontNames[row];

            break;

        case 1:

            str = [NSString stringWithFormat:@"%1.f",[self.fontSize[row] floatValue]];

            break;

        case 2:

            str = [self.fontColors[row] objectForKey:@"name"];

            break;

    }

    return str;

    

}

#pragma mark 设置每一列的宽度

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

{

    CGFloat width = 0.0;

    switch (component)

    {

        case 0:

            width = 180;

            break;

        case 1:

            width = 70;

            break;

        case 2:

            width = 70;

            break;

        

    }

    return width;

}

#pragma mark 在选择了某列某行后的操作

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

{

    switch (component)

    {

        case 0:

        {

        int row2 = [pickerView selectedRowInComponent:1];

            

            UIFont *font = [UIFont fontWithName:self.fontNames[row] size:[self.fontSize[row2] floatValue]];

            

            self.label.font = font;

    

            break;

        }

        case 1:

        {

            int row1 = [pickerView selectedRowInComponent:0];

            

            UIFont *font = [UIFont fontWithName:self.fontNames[row1] size:[self.fontSize[row] floatValue]];

            

            self.label.font = font;

            break;

        }

        case 2:

            self.label.textColor = [self.fontColors[row] objectForKey:@"color"];

            break;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值