UIPickerView自定义背景

#import <UIKit/UIKit.h>


@interface MyPicker : UIPickerView {

}

@end

--------------------------------------------------------------------------------

//
//  MyPicker.m
//  PickerSkinTest
//
//  Created by Wang WenHui on 10-5-3.
//  Copyright 2010 __MyCompanyName__. All rights reserved.
//

#import "MyPicker.h"
#import "Function.h"


@implementation MyPicker


- (id)initWithFrame:(CGRect)frame {
    if (self = [super initWithFrame:frame]) {
        // Initialization code
        
    }
    return self;
}


- (void)drawRect:(CGRect)rect {
    
    //改变最外层的背景
    UIView *v0 = [[self subviews] objectAtIndex:0 ];
    v0.backgroundColor = [Function colorWithHexString:@"#f5f5f5"];
    
    //去掉最大的框
    UIView *v8 = [[self subviews] objectAtIndex:8];
    v8.alpha = 0.0;
    
    //第一列的设置--------------------------------
    UIView *v1 = [[self subviews] objectAtIndex:1 ];
    v1.alpha = 0.6;
    UIView *v2 = [[self subviews] objectAtIndex:2 ];
    v2.alpha = 0;
    UIView *v3 = [[self subviews] objectAtIndex:3 ];
    v3.alpha = 0;
    UIView *v4 = [[self subviews] objectAtIndex:4 ];
    v4.backgroundColor = [Function colorWithHexString:@"#eae1d8"];
    UIView *v5 = [[self subviews] objectAtIndex:5 ];
    v5.alpha = 0.0;
    UIView *v6 = [[self subviews] objectAtIndex:6 ];
    v6.alpha=0.6;
    
    [self setNeedsDisplay];
    
}


@end

 

 

======================================================

如果是两列的就用下面这个

- (void)drawRect:(CGRect)rect {
    
    //改变最外层的背景
    UIView *v0 = [[self subviews] objectAtIndex:0 ];
    v0.backgroundColor = [Function colorWithHexString:@"#f5f5f5"];
    
    //去掉最大的框
    UIView *v14 = [[self subviews] objectAtIndex:14];
    v14.alpha = 0.0;
    
    //第一列的设置--------------------------------
    UIView *v1 = [[self subviews] objectAtIndex:1 ];
    v1.alpha = 0.6;
    UIView *v2 = [[self subviews] objectAtIndex:2 ];
    v2.alpha = 0;
    UIView *v3 = [[self subviews] objectAtIndex:3 ];
    v3.alpha = 0;
    UIView *v4 = [[self subviews] objectAtIndex:4 ];
    v4.backgroundColor = [Function colorWithHexString:@"#eae1d8"];
    UIView *v5 = [[self subviews] objectAtIndex:5 ];
    v5.alpha = 0.0;
    UIView *v6 = [[self subviews] objectAtIndex:6 ];
    v6.alpha=0.6;
    
    
    //第二列的设置--------------------------------
    UIView *v7 = [[self subviews] objectAtIndex:7 ];
    v7.alpha = 0.6;
    UIView *v8 = [[self subviews] objectAtIndex:8 ];
    v8.alpha = 0;
    UIView *v9 = [[self subviews] objectAtIndex:9 ];
    v9.alpha = 0;
    UIView *v10 = [[self subviews] objectAtIndex:10 ];
    v10.backgroundColor = [Function colorWithHexString:@"#eae1d8"];
    UIView *v11 = [[self subviews] objectAtIndex:11 ];
    v11.alpha = 0.0;
    UIView *v12 = [[self subviews] objectAtIndex:12 ];
    v12.alpha=0.6;
    
    [self setNeedsDisplay];
    
}

posted @   lear  阅读(2314)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示