【问题标题】:uipickerview textcolor issue and color brightness issueuipickerview textcolor 问题和颜色亮度问题
【发布时间】:2014-04-30 11:44:03
【问题描述】:

对于我的 uipickerview 我有:

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

    CGSize size = [pickerView rowSizeForComponent:0];
    UILabel *labelMain = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, size.width, size.height)];
    labelMain.backgroundColor = [UIColor clearColor];
    labelMain.font = [UIFont fontWithName:kFontSegoeSemiBold size:14];
    labelMain.textColor = kColor_default_orangeText;
    labelMain.textAlignment = NSTextAlignmentCenter;

    int age;
    // from
    if (pickerView == self.pickerFrom) {
        age = minAge + row;
    }
    // to
    else {
        age = minAge_pickerTo + row;
    }
    labelMain.text = [NSString stringWithFormat:@"%d", age];
    return labelMain;
}

我知道如何制作蓝色选择指示器(我将蓝色视图放在 uipickerview 后面并将标签背景颜色设置为 clearColor。

我需要这个选择器(从/到年龄选择器)(蓝色垂直线仅用于 Photoshop):

现在我已经创建了这个选择器:

我有 1 个问题:

我想在选择指示器(或选择器视图的中心)区域使用白色文本颜色,在选择器视图的其他区域使用橙色文本颜色。有可能吗?

【问题讨论】:

    标签: ios objective-c uipickerview uipickerviewdelegate


    【解决方案1】:

    试试这个:

    #pragma mark - UIPickerViewDelegate
    - (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
    {
    
    UILabel *label = (UILabel *)[self.yourPickerOutlet viewForRow:row forComponent:component];
    
    label.textColor = [UIColor whiteColor];
    label.backgroundColor = [UIColor blueColor];
    }
    
    #pragma mark PickerView DataSource
    - (NSInteger)numberOfComponentsInPickerView:
    (UIPickerView *)pickerView
    {
        return 1;
    }
    
    - (NSInteger)pickerView:(UIPickerView *)pickerView
    numberOfRowsInComponent:(NSInteger)component
    {
    
        return [dataSourseArray count];
    }
    
    - (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view{
    
    
        NSString* itemString = dataSourseArray[row];
    
        UILabel *label;
    
        if(view==nil){
            label = [[UILabel alloc] initWithFrame:CGRectMake(5, 5, 310, 30)];
            label.textColor = [UIColor blackColor];
            label.backgroundColor = [UIColor clearColor];
            label.shadowColor = [UIColor whiteColor];
            label.shadowOffset = CGSizeMake(0,1);
            label.textAlignment = NSTextAlignmentCenter;
        }else{
            label = (UILabel*) view;
        }
    
    
    
        label.text = itemString;
    
    
        return label;
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多