#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];
    
}

UIPickerView自定义背景的更多相关文章

  1. 制作自定义背景Button按钮、自定义形状Button的全攻略(转)

    在Android开发应用中,默认的Button是由系统渲染和管理大小的.而我们看到的成功的移动应用,都是有着酷炫的外观和使用体验的.因此,我们在开发产品的时候,需要对默认按钮进行美化.在本篇里,笔者结 ...

  2. listview自定义背景以及item自定义背景

    item向自定义背景,可以根据position来设置不同的背景. listview背景设置是需要注意设置下面这几项: //点下时整个页面的背景 android:cacheColorHint=" ...

  3. Android-重新包装Toast,自定义背景

    Android-重新包装Toast,自定义背景 2016-4-27 Android L 算是包装了一个自己使用的小工具. 使用Toast的目的是弹一个提示框.先看一下Toast.makeText方法. ...

  4. vscode自定义背景颜色

    vscode自定义背景颜色   大概做前端的builder(只会打代码的才是coder,嘻嘻~)一半以上都会使用vscode编辑代码吧,vscode很轻量,支持的文件拖拽加入编辑区功能我个人认为很方便 ...

  5. IOS第11天(2:UIPickerView自定义国旗选择)

    国旗选择 #import "HMViewController.h" #import "HMFlag.h" #import "HMFlagView.h& ...

  6. GUI(自定义背景图片)

    如果组件中没有setIcon(...);这个方法,这是有需要给组件设置背景图片,这时就可以自定义绘制背景图片 /** * */ package com.niit.javagui; import jav ...

  7. UIPickerView去掉背景上的黑线

    - (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger) ...

  8. UIDatePicker自定义背景

    selectDatePicker = [[UIDatePicker alloc]init];    selectDatePicker.frame = CGRectMake(0, 10, 280, 21 ...

  9. UITabBar实现自定义背景及UITabBarItem自定义图片和字体

    UITabBarItem *firstItem = [[UITabBarItem alloc]initWithTitle:]; //设置字体颜色(后面设置字体状态)(UITextAttributeTe ...

随机推荐

  1. ANTLR3完全参考指南读书笔记[03]

    前言 文中第4章内容有点多,有点枯燥,但不坚持一下,之前所做的工作就白做了. 再次确认一下总体目标: protege4编辑器中Class Definition中语法解析和错误提示: Java虚拟机规范 ...

  2. SAP 默认的连接端口

    3708.3908.4008.32<instance number> 如instance number是00的话,就是3200,这是给 disp+working process 用的. 3 ...

  3. ZOJ 1099 HTML

    原题链接 题目大意:按照HTML的语法处理一段字符.这道题算是字符串类型的经典,熟练之后可以做一个简单的html解析器了. 解法:没什么好说的,直接代码. 参考代码: #include<iost ...

  4. hihoCoder#1055 : 刷油漆 (树形DP+01背包)

    题目大意:给一棵带点权的树,现在要从根节点开始选出m个连通的节点,使总权值最大. 题目分析:定义状态dp(u,m)表示在以u为根的子树从根节点开始选出m个点连通的最大总权值,则dp(u,m)=max( ...

  5. UVA10305 拓扑序

    题意:给出多个任务,以及一系列任务的关系表示某个任务必须在某个任务前完成,问一个合理的任务完成顺序 拓扑序的裸题,一开始用大白书的写法,后来发现并不好用,就换了BFS又A了一遍. 原: #includ ...

  6. 通过laravel理解IoC(控制反转)容器和DI(依赖注入)

    原文地址: http://www.insp.top/learn-laravel-container ,转载务必保留来源,谢谢了! 容器,字面上理解就是装东西的东西.常见的变量.对象属性等都可以算是容器 ...

  7. ExtJS组件的xtype属性列表

    ExtJS的应用界面是由很多小部件组合而成的,这些小部件被称作“组件(Component)”,所有组件都是Ext.Component的子类,Ext.Component提供了生命周期管理包括初始化.渲染 ...

  8. c语言学习笔记

    为什么需要输出控制符: 1:  01组成的代码可以表示数据亦可以表示指令: 2:如果01组成的代码表示的是数据的话,那么同样的01代码组合以不同的输出格式输出就会有不同的输出结果.. %d   --- ...

  9. Threadpool dump

    Microsoft (R) Windows Debugger Version 10.0.10586.567 AMD64Copyright (c) Microsoft Corporation. All ...

  10. HttpWebRequest's Timeout and ReadWriteTimeout — What do these mean for the underlying TCP connection?

    http://stackoverflow.com/questions/7250983/httpwebrequests-timeout-and-readwritetimeout-what-do-thes ...