ios-UIPickerView基本使用

#import "ViewController.h"

@interface ViewController ()<UIPickerViewDataSource,UIPickerViewDelegate>
{
    NSArray *pickerArray;
}
@property (weak, nonatomic) IBOutlet UIPickerView *myPickerView;

@end

@implementation ViewController

- (void)viewDidLoad
{
    [super viewDidLoad];
    _myPickerView.dataSource=self;
    _myPickerView.delegate=self;
    _myPickerView.showsSelectionIndicator=YES;
    pickerArray=[NSArray arrayWithObjects:@"1",@"2",@"3",@"4",@"5",@"6",@"7",@"8",@"9",@"10", nil];

}

- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}
-(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
    return 3;
}
-(NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
    return pickerArray.count;
}

-(UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view
{
    CGRect rect=CGRectMake(0, 0, [self pickerView:pickerView widthForComponent:row], [self pickerView:pickerView rowHeightForComponent:row]);
    UIView *testView=[[UIView alloc]initWithFrame:rect];
    [testView setBackgroundColor:[UIColor clearColor]];
    [testView setOpaque:YES];
    UILabel *label=[[UILabel alloc]initWithFrame:CGRectMake(8, 0, [self pickerView:pickerView widthForComponent:row]-16.0f, [self pickerView:pickerView rowHeightForComponent:row])];
    [label setBackgroundColor:[UIColor clearColor]];
    label.textAlignment=NSTextAlignmentCenter;
    label.text=pickerArray[row];
    switch (row)
    {
        case 1:
        case 2:
        {
            testView.backgroundColor=component==0?[UIColor greenColor]:[UIColor blueColor];
        }
        case 3:
        {
            testView.backgroundColor=component==0?[UIColor brownColor]:[UIColor redColor];
        }
        break;
        default:
        {
            testView.backgroundColor=component==0?[UIColor grayColor]:[UIColor orangeColor];
        }
        break;
    }
    label.font=[UIFont boldSystemFontOfSize:14.0f];
    [testView addSubview:label];
    return testView;
}

//可有可无
-(NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{
    return pickerArray[row];
}
- (CGFloat)pickerView:(UIPickerView *)pickerView widthForComponent:(NSInteger)component;
{
    return 120;
}
-(CGFloat)pickerView:(UIPickerView *)pickerView rowHeightForComponent:(NSInteger)component
{
    return 50;
}

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

     NSLog(@"row=%ld",row);
}

时间: 2024-11-10 08:26:07

ios-UIPickerView基本使用的相关文章

iOS UIPickerView的简单实用

其实UIPickerView和UITableview的实现方法中,大致是相同的,就连作用都是一样的,只是运用在了不同的效果上而已,那么下面就记录几个方法就可以实现UIPickerView的效果: 1.设置UIPickerView的列 -(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView; 2.设置UIPickerView 的行 -(NSInteger)pickerView:(UIPickerView *)pic

iOS UIPickerView 显示全国省市

效果图 #import "ViewController.h" @interface ViewController () @property(strong,nonatomic)UIPickerView *myPickView1; @property(strong,nonatomic)NSArray *guo; @property(strong,nonatomic)NSMutableArray *sheng; @property(strong,nonatomic)NSMutableArra

iOS UIPickerView 可能会出现选中行不显示或者去掉上下两条横线的问题解决,

这个问题很容易解决,需要在pickerview的代理方法中设置上下横线的颜色就可以了 - (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view { UILabel *label = [[UILabel alloc] init]; label.frame = CGRectMake(0,

iOS:UIPickerView选择器的使用

通过UIPickerView选择器做的一个类似于密码锁的日期时间表 源码如下: 1 #import <UIKit/UIKit.h> 2 3 @interface ViewController : UIViewController<UIPickerViewDataSource,UIPickerViewDelegate> 4 @property (strong,nonatomic) NSArray *weeks;//显示第一列的数据 5 @property (strong,nonato

ios UIPickerView 技巧集锦(包括循环滚动)

摘自: http://blog.csdn.net/ipromiseu/article/details/7436521 http://www.cnblogs.com/dabaopku/archive/2012/06/11/2545482.html 设置 UIPickerView 的数据源数量为很大的规模, 取数据时对行数进行取模, 从而实现循环滚动的效果. 在每次滚动结束后, 把当前选这个行无动画滚动到数据的中间, 减少用户滚动到数据边界的可能.

iOS UIPickerView的简单使用

UIPickerView控件在给 用户选择某些特定的数据时经常使用到,这里演示一个简单的选择数据,显示在UITextField输入框里,把UIPickerView作为输入 View,用Toolbar作为选定数据的按钮.和其他UITableView控件相似,UIPickerView也需要数据源. 我们要实现的效果如下: 下面开始使用的步骤. 1.打开XCode,新建一个Single View Application ,命名为PickerViewDemo,Company Identifier 为:c

iOS.UIKit.11.UIPickerView

一.案例介绍:点击UIButton,将选中的省市信息显示在UILabel中,如图01,02 图01图02 二.案例步骤: 1.选择Simple View Aplication,取名cq.37.普通选择器,如图03 图03 2.Main.storyboard,如图04 3.provinces_cities.plist 4.CQ37ViewController.h #import <UIKit/UIKit.h> @interface CQ37ViewController : UIViewContr

【iOS开发每日小笔记(一)】UIPickerView 自动选择某个component的某个row

从这篇文章开始我将会把每天在开发过程中遇到的,可以用很短的文章.很小的demo演示解释出来的小心得小技巧,分享在[iOS开发每日小笔记]这个分类中.该分类的文章,内容涉及的知识点可能是很简单的.或是用很短代码片段就能实现的,但在我看来它们会给用户体验.代码效率得到一些提升,记录在这里,90%的作用是帮助自己回顾.记忆.复习.如果看官觉得太easy,可以选择:1,移步[iOS探究]分类,对那里的文章进行斧正:2,在本文的评论里狠狠吐槽,再关掉页面!感谢! 今天在项目中遇到这样一个小问题:我使用UI

iOS开发 点菜系统 使用UIPickerView

利用UIPickerView实现一个简单的点菜界面,如下图所示.源码地址:https://github.com/xiaoLong1010/iOSAppDemo.git UIPickerView有两个协议UIPickerViewDataSource,UIPickerViewDelegate,它们为UIPickeView提供数据和代理.UIPickeView的三个component分别代表fruit,main,drink,选中某一行,菜名在下面显示.最上面的随机按钮,则实现随机点菜功能. 1.vie

iOS开发UI篇—UIPickerView控件简单介绍

iOS开发UI篇—UIPickerView控件简单介绍 一.UIPickerView 控件 1.简单介绍: 2.示例代码 TXViewController.m文件 1 // Created by 鑫 on 14-10-15. 2 3 // Copyright (c) 2014年 梁镋鑫. All rights reserved. 4 5 // 6 7 8 9 #import "TXViewController.h" 10 11 12 13 @interface TXViewContro