UIPickerView + UIToolsBar
来源:互联网 发布:嵌入式linux内核编译 编辑:程序博客网 时间:2024/05/18 22:18
- (void)textFieldDidBeginEditing:(UITextField *)textField{// [self showPickerView]; PickerView *pickerView = [[PickerView alloc] initWithFrame:self.view.bounds data:@[@"9", @"8", @"7", @"6", @"5", @"4", @"3", @"2"] components:1 view:_textField]; [self.view addSubview:pickerView];}
//// PickerView.h// PickerViewTest//// Created by lance on 14-1-10.// Copyright (c) 2014年 Lance. All rights reserved.//#import <UIKit/UIKit.h>@interface PickerView : UIView <UIPickerViewDataSource, UIPickerViewDelegate>{ NSArray *_data; NSInteger _components; UITextField *_bindView; UIPickerView *_pickerView; UIToolbar *_toolbar;}- (id)initWithFrame:(CGRect)frame data:(NSArray *)data components:(NSInteger)components view:(UITextField *)view;@end
//// PickerView.m// PickerViewTest//// Created by lance on 14-1-10.// Copyright (c) 2014年 Lance. All rights reserved.//#import "PickerView.h"@interface PickerView ()- (void)cancel:(id)sender;- (void)done:(id)sender;@end@implementation PickerView- (id)initWithFrame:(CGRect)frame data:(NSArray *)data components:(NSInteger)components view:(UITextField *)view{ self = [super initWithFrame:frame]; if (self) { // Initialization code _data = [NSArray arrayWithArray:data]; _components = components; _bindView = view; [self initView]; } return self;}- (void)initView{ _toolbar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 320, 44)]; UIBarButtonItem *space = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil]; UIBarButtonItem *cancel = [[UIBarButtonItem alloc] initWithTitle:@"取消" style:UIBarButtonItemStyleDone target:self action:@selector(cancel:)]; UIBarButtonItem *done = [[UIBarButtonItem alloc] initWithTitle:@"确定" style:UIBarButtonItemStyleDone target:self action:@selector(done:)]; [_toolbar setItems:@[cancel, space, done]]; _pickerView = [[UIPickerView alloc] initWithFrame:CGRectMake(0, 0, 320, 260)]; _pickerView.delegate = self; _pickerView.dataSource = self; [_pickerView addSubview:_toolbar]; _bindView.inputView = _pickerView; _bindView.inputAccessoryView = _toolbar; self.backgroundColor = [UIColor colorWithRed:0.7 green:0.5 blue:0.6 alpha:0.4];}- (void)removeView{ CGRect toolBarFrame = _toolbar.frame; CGRect pickerViewFrame = _pickerView.frame; pickerViewFrame.origin.y = toolBarFrame.origin.y = self.frame.size.height; [UIView animateWithDuration:0.5 animations:^{ self.backgroundColor = [UIColor clearColor]; _toolbar.frame = toolBarFrame; _pickerView.frame = pickerViewFrame; } completion:^(BOOL finished) { [_bindView resignFirstResponder]; [_pickerView removeFromSuperview]; [_toolbar removeFromSuperview]; [self removeFromSuperview]; }];}#pragma mark barButton action- (void)cancel:(id)sender{ [self removeView];}- (void)done:(id)sender{ [self removeView];}#pragma mark UIPickerView DataSource- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component{ if (_components == 1) { return [_data count]; } else { return [[_data objectAtIndex:component] count]; }}- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView{ return _components;}- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{ if (_components == 1) { return [_data objectAtIndex:row]; } else { return [[_data objectAtIndex:component] objectAtIndex:row]; }}#pragma mark UIPickerView delegate- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component{ }@end
0 0
- UIPickerView + UIToolsBar
- UIPickerView
- UIPickerView
- UIPickerView
- UIPickerView
- UIPickerView
- UIPickerView
- UIPickerView
- UIPickerView
- UIPickerView
- UIpickerView
- UIPickerView
- UIPickerView
- UIPickerView
- UIPickerView
- UIpickerview
- UIPickerView
- UIpickerView
- 给JavaScript初学者的24条最佳实践
- Android学习笔记之AndroidManifest.xml文件解析
- win7硬盘安装过程图解 - 不用光驱,不用u盘
- 渗透性测试是一种特殊的信息安全服务
- SGU 110 Dungeon(计算几何)
- UIPickerView + UIToolsBar
- Android---Android4.4源码下载和编译
- C语言程序员必读的5本书
- Ubifs文件系统和mkfs.ubifs以及ubinize工具的用法
- 十步完全理解SQL
- Hook : N种内核注入DLL的思路及实现
- Android Service学习之AIDL, Parcelable和远程服务
- 20140110orange.cpp
- ubuntu12.04 安装 arm-linux-gdb