自定义frame,添加toolbar和pickerview
来源:互联网 发布:全球经济数据日历 编辑:程序博客网 时间:2024/04/29 23:20
自定义的frame pickerv.h文件
#import <UIKit/UIKit.h>
#import <QuartzCore/QuartzCore.h>
@interface pickerv : UIView <UIPickerViewDelegate>{
UIToolbar *toolBar;
UIPickerView *picker;
NSArray *pickerArr;
CGRect closeView;
CGRect openView;
BOOL isOpen;
NSString *selectedStr;
}
@property (nonatomic, retain) IBOutletUIToolbar *toolBar;
@property (nonatomic, retain) IBOutletUIPickerView *picker;
@property (nonatomic,retain) NSArray *pickerArr;
@property (nonatomic,retain) NSString *selectedStr;
@property BOOL isOpen;
-(void)viewOpen;
-(void)viewClose;
-(void)cancle;
-(void)done;
@end
pickerv.m文件
#import "pickerv.h"
@implementation pickerv
@synthesize toolBar,picker,pickerArr,isOpen,selectedStr;
- (id)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if (self) {
isOpen = NO;
closeView = self.frame;
openView = CGRectMake(closeView.origin.x, closeView.origin.y-260,closeView.size.width, 260);
[self setClipsToBounds:YES];
[self setBackgroundColor:[UIColor whiteColor]];
toolBar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, closeView.size.width,44)];
toolBar.barStyle = UIBarStyleDefault;
UIBarButtonItem *titleButton = [[UIBarButtonItem alloc] initWithTitle:@"title" style:UIBarButtonItemStylePlain target: nil action: nil];
UIBarButtonItem *rightButton = [[UIBarButtonItem alloc] initWithTitle:@"Done" style:UIBarButtonItemStyleDone target: self action: @selector(done)];
UIBarButtonItem *leftButton = [[UIBarButtonItem alloc] initWithTitle:@"Cancel" style:UIBarButtonItemStyleBordered target: self action: @selector(docancel)];
UIBarButtonItem *fixedButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target: nil action: nil];
NSArray *array = [[NSArray alloc]initWithObjects: leftButton,fixedButton, titleButton,fixedButton, rightButton,nil];
[toolBar setItems: array];
[titleButton release];
[leftButton release];
[rightButton release];
[fixedButton release];
[array release];
[self addSubview:toolBar];
selectedStr = [[NSString alloc]init];
pickerArr = [[NSArray alloc] initWithObjects:@"10",@"20",@"30",@"40",nil];
picker = [[UIPickerView alloc] initWithFrame:CGRectMake(0, 44, 768, 216)];
[picker setBackgroundColor:[UIColor grayColor]];
picker.showsSelectionIndicator= YES;
picker.autoresizingMask = UIViewAutoresizingFlexibleWidth;
picker.delegate= self;
[self addSubview:picker];
}
return self;
}
-(void)viewOpen{
//[tblView reloadData];
isOpen = YES;
[UIView beginAnimations:nil context:nil];
[UIView setAnimationCurve:UIViewAnimationCurveLinear];
//[UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:self cache:NO];
[UIView setAnimationDuration:0.4];
[self setFrame:openView];
[UIView commitAnimations];
}
-(void)viewClose{
isOpen = NO;
[UIView beginAnimations:nil context:nil];
[UIView setAnimationCurve:UIViewAnimationCurveLinear];
[UIView setAnimationDuration:0.4];
[self setFrame:closeView];
[UIView commitAnimations];
}
#pragma mark -
#pragma mark Picker Data Source Methods
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
return 1;
}
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
return 4;
}
#pragma mark Picker Delegate Methods
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{
return [self.pickerArr objectAtIndex:row];
}
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
//[self dismissWithClickedButtonIndex:row animated:YES];
//[self setNeedsDisplay];
//selectedPicker = [pickerArr objectAtIndex:row];
//NSLog(@"select:%@",selectedPicker);
selectedStr= [pickerArr objectAtIndex:row];
NSLog(@"str:%@",selectedStr);
NSNotificationCenter*notificationCenter = [NSNotificationCenter defaultCenter];
NSNotification *notification = [NSNotificationnotificationWithName:@"refresh"object:nil];
[notificationCenter postNotification:notification];
}
- (CGFloat)pickerView:(UIPickerView *)pickerView widthForComponent:(NSInteger)component
{
return 768;
}
- (CGFloat)pickerView:(UIPickerView *)pickerView rowHeightForComponent:(NSInteger)component
{
return 40;
}
-(void)done{
isOpen = NO;
[UIView beginAnimations:nil context:nil];
[UIView setAnimationCurve:UIViewAnimationCurveLinear];
[UIView setAnimationDuration:0.4];
[self setFrame:closeView];
[UIView commitAnimations];
//[self dismissWithClickedButtonIndex:0 animated:YES];
}
- (void)cancle{
[self dismissWithClickedButtonIndex:0 animated:YES];
}
- (void)dealloc {
[selectedStrrelease];
[pickerArrrelease];
[toolBar release];
[picker release];
[super dealloc];
}
@end
pickerTestViewController.h文件
#import <UIKit/UIKit.h>
#import "pickerv.h"
#import <QuartzCore/QuartzCore.h>
@interface pickerTestViewController : UIViewController <UIActionSheetDelegate>{
UIButton*btn;
pickerv *chooseView;
}
@property (nonatomic, retain) IBOutletUIButton *btn;
@property (nonatomic,retain) pickerv *chooseView;
-(IBAction)addpicker;
-(IBAction)addview;
@end
pickerTestViewController.m文件
#import "pickerTestViewController.h"
#import "customSheet.h"
@implementation pickerTestViewController
@synthesize btn,chooseView;
- (void)viewDidLoad {
//[super viewDidLoad];
//UIActionSheet *actionsheet =[[UIActionSheet alloc] initWithTitle:@"" delegate:self cancelButtonTitle:@"取消" destructiveButtonTitle:nil
// otherButtonTitles:@"选择此用户",@"删除此用户",nil];
//[actionsheet showInView:self.view];
//[actionsheet showFromRect:self.view.bounds inView:self.view animated:YES];
[self.view setBackgroundColor:[UIColor grayColor]];
chooseView = [[pickerv alloc] initWithFrame:CGRectMake(0,1004, 768, 0)];
[self.view addSubview:chooseView];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(refresh)name:@"refresh" object:nil];
}
- (void)refresh{
btn.titleLabel.text= chooseView.selectedStr;
}
-(IBAction)addpicker{
//customSheet *sheet = [[customSheet alloc] initWithHeight:500];
//CGRect sheetRect = CGRectMake(0, 0, 768, 500) ;
//[sheet showFromRect:self.view.bounds inView:self.view animated:YES];
customSheet* sheet = [[customSheetalloc] initWithHeight:284.0fWithSheetTitle:@"MyActionSheet"];
//[sheet showInView:self.view];
UILabel* label = [[UILabel alloc] initWithFrame:CGRectMake(0,50,320, 50)];
label.text = @"在这你想干啥就干啥";
label.backgroundColor = [UIColor clearColor];
label.textAlignment= UITextAlignmentCenter;
[sheet.view addSubview:label];
[sheet showFromRect:self.btn.bounds inView:self.view animated:YES];
[sheet release];
}
-(IBAction)addview{
[chooseView viewOpen];
//btn.titleLabel.text = chooseView.selectedStr;
}
// Override to allow orientations other than the default portrait orientation.
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return YES;
}
- (void)didReceiveMemoryWarning {
// Releases the view if it doesn't have a superview.
[super didReceiveMemoryWarning];
// Release any cached data, images, etc that aren't in use.
}
- (void)viewDidUnload {
// Release any retained subviews of the main view.
// e.g. self.myOutlet = nil;
}
- (void)dealloc {
[chooseView release];
[btn release];
[super dealloc];
}
@end
#import <UIKit/UIKit.h>
#import <QuartzCore/QuartzCore.h>
@interface pickerv : UIView <UIPickerViewDelegate>{
UIToolbar *toolBar;
UIPickerView *picker;
NSArray *pickerArr;
CGRect closeView;
CGRect openView;
BOOL isOpen;
NSString *selectedStr;
}
@property (nonatomic, retain) IBOutletUIToolbar *toolBar;
@property (nonatomic, retain) IBOutletUIPickerView *picker;
@property (nonatomic,retain) NSArray *pickerArr;
@property (nonatomic,retain) NSString *selectedStr;
@property BOOL isOpen;
-(void)viewOpen;
-(void)viewClose;
-(void)cancle;
-(void)done;
@end
pickerv.m文件
#import "pickerv.h"
@implementation pickerv
@synthesize toolBar,picker,pickerArr,isOpen,selectedStr;
- (id)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if (self) {
isOpen = NO;
closeView = self.frame;
openView = CGRectMake(closeView.origin.x, closeView.origin.y-260,closeView.size.width, 260);
[self setClipsToBounds:YES];
[self setBackgroundColor:[UIColor whiteColor]];
toolBar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, closeView.size.width,44)];
toolBar.barStyle = UIBarStyleDefault;
UIBarButtonItem *titleButton = [[UIBarButtonItem alloc] initWithTitle:@"title" style:UIBarButtonItemStylePlain target: nil action: nil];
UIBarButtonItem *rightButton = [[UIBarButtonItem alloc] initWithTitle:@"Done" style:UIBarButtonItemStyleDone target: self action: @selector(done)];
UIBarButtonItem *leftButton = [[UIBarButtonItem alloc] initWithTitle:@"Cancel" style:UIBarButtonItemStyleBordered target: self action: @selector(docancel)];
UIBarButtonItem *fixedButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target: nil action: nil];
NSArray *array = [[NSArray alloc]initWithObjects: leftButton,fixedButton, titleButton,fixedButton, rightButton,nil];
[toolBar setItems: array];
[titleButton release];
[leftButton release];
[rightButton release];
[fixedButton release];
[array release];
[self addSubview:toolBar];
selectedStr = [[NSString alloc]init];
pickerArr = [[NSArray alloc] initWithObjects:@"10",@"20",@"30",@"40",nil];
picker = [[UIPickerView alloc] initWithFrame:CGRectMake(0, 44, 768, 216)];
[picker setBackgroundColor:[UIColor grayColor]];
picker.showsSelectionIndicator= YES;
picker.autoresizingMask = UIViewAutoresizingFlexibleWidth;
picker.delegate= self;
[self addSubview:picker];
}
return self;
}
-(void)viewOpen{
//[tblView reloadData];
isOpen = YES;
[UIView beginAnimations:nil context:nil];
[UIView setAnimationCurve:UIViewAnimationCurveLinear];
//[UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:self cache:NO];
[UIView setAnimationDuration:0.4];
[self setFrame:openView];
[UIView commitAnimations];
}
-(void)viewClose{
isOpen = NO;
[UIView beginAnimations:nil context:nil];
[UIView setAnimationCurve:UIViewAnimationCurveLinear];
[UIView setAnimationDuration:0.4];
[self setFrame:closeView];
[UIView commitAnimations];
}
#pragma mark -
#pragma mark Picker Data Source Methods
- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
return 1;
}
- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
return 4;
}
#pragma mark Picker Delegate Methods
- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{
return [self.pickerArr objectAtIndex:row];
}
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
//[self dismissWithClickedButtonIndex:row animated:YES];
//[self setNeedsDisplay];
//selectedPicker = [pickerArr objectAtIndex:row];
//NSLog(@"select:%@",selectedPicker);
selectedStr= [pickerArr objectAtIndex:row];
NSLog(@"str:%@",selectedStr);
NSNotificationCenter*notificationCenter = [NSNotificationCenter defaultCenter];
NSNotification *notification = [NSNotificationnotificationWithName:@"refresh"object:nil];
[notificationCenter postNotification:notification];
}
- (CGFloat)pickerView:(UIPickerView *)pickerView widthForComponent:(NSInteger)component
{
return 768;
}
- (CGFloat)pickerView:(UIPickerView *)pickerView rowHeightForComponent:(NSInteger)component
{
return 40;
}
-(void)done{
isOpen = NO;
[UIView beginAnimations:nil context:nil];
[UIView setAnimationCurve:UIViewAnimationCurveLinear];
[UIView setAnimationDuration:0.4];
[self setFrame:closeView];
[UIView commitAnimations];
//[self dismissWithClickedButtonIndex:0 animated:YES];
}
- (void)cancle{
[self dismissWithClickedButtonIndex:0 animated:YES];
}
- (void)dealloc {
[selectedStrrelease];
[pickerArrrelease];
[toolBar release];
[picker release];
[super dealloc];
}
@end
pickerTestViewController.h文件
#import <UIKit/UIKit.h>
#import "pickerv.h"
#import <QuartzCore/QuartzCore.h>
@interface pickerTestViewController : UIViewController <UIActionSheetDelegate>{
UIButton*btn;
pickerv *chooseView;
}
@property (nonatomic, retain) IBOutletUIButton *btn;
@property (nonatomic,retain) pickerv *chooseView;
-(IBAction)addpicker;
-(IBAction)addview;
@end
pickerTestViewController.m文件
#import "pickerTestViewController.h"
#import "customSheet.h"
@implementation pickerTestViewController
@synthesize btn,chooseView;
- (void)viewDidLoad {
//[super viewDidLoad];
//UIActionSheet *actionsheet =[[UIActionSheet alloc] initWithTitle:@"" delegate:self cancelButtonTitle:@"取消" destructiveButtonTitle:nil
// otherButtonTitles:@"选择此用户",@"删除此用户",nil];
//[actionsheet showInView:self.view];
//[actionsheet showFromRect:self.view.bounds inView:self.view animated:YES];
[self.view setBackgroundColor:[UIColor grayColor]];
chooseView = [[pickerv alloc] initWithFrame:CGRectMake(0,1004, 768, 0)];
[self.view addSubview:chooseView];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(refresh)name:@"refresh" object:nil];
}
- (void)refresh{
btn.titleLabel.text= chooseView.selectedStr;
}
-(IBAction)addpicker{
//customSheet *sheet = [[customSheet alloc] initWithHeight:500];
//CGRect sheetRect = CGRectMake(0, 0, 768, 500) ;
//[sheet showFromRect:self.view.bounds inView:self.view animated:YES];
customSheet* sheet = [[customSheetalloc] initWithHeight:284.0fWithSheetTitle:@"MyActionSheet"];
//[sheet showInView:self.view];
UILabel* label = [[UILabel alloc] initWithFrame:CGRectMake(0,50,320, 50)];
label.text = @"在这你想干啥就干啥";
label.backgroundColor = [UIColor clearColor];
label.textAlignment= UITextAlignmentCenter;
[sheet.view addSubview:label];
[sheet showFromRect:self.btn.bounds inView:self.view animated:YES];
[sheet release];
}
-(IBAction)addview{
[chooseView viewOpen];
//btn.titleLabel.text = chooseView.selectedStr;
}
// Override to allow orientations other than the default portrait orientation.
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return YES;
}
- (void)didReceiveMemoryWarning {
// Releases the view if it doesn't have a superview.
[super didReceiveMemoryWarning];
// Release any cached data, images, etc that aren't in use.
}
- (void)viewDidUnload {
// Release any retained subviews of the main view.
// e.g. self.myOutlet = nil;
}
- (void)dealloc {
[chooseView release];
[btn release];
[super dealloc];
}
@end
- 自定义frame,添加toolbar和pickerview
- IOS点击事件的PickerView和ToolBar
- PickerView frame变化
- 如何自定义pickerView的高度和宽度!
- 自定义toolbar和原生toolbar的比较
- 如何自定义PickerView 以及改变字体大小和字体颜色
- 自定义控件-PickerView
- iOS 自定义PickerView
- 工具类:自定义 pickerView
- 自定义pickerview实现倒计时
- Toolbar的使用和自定义
- java Frame中添加自定义的Panel
- Toolbar的简单介绍和如何简单自定义toolbar
- Toolbar的使用和自定义Toolbar作为标题栏
- 自定义Toolbar实现搜索框和普通Toolbar切换
- Android之ToolBar和自定义ToolBar实现沉浸式状态栏
- Android开发:Toolbar基本使用和自定义Toolbar
- ios7中pickerview添加背景图
- 航班信息显示系统研究探讨-航显系统研究第89篇
- interval
- 获取批处理文件所在路径
- Win7更改文件夹权限
- Codeforces Round #207 (Div. 2)
- 自定义frame,添加toolbar和pickerview
- error LNK2001: 无法解析的外部符号 __environ
- 疯狂java 线程同步
- win7下的添加自定义右键功能 注册表文件
- gae 证书
- iis运行一段时间后 基础连接已经关闭: 接收时发生错误
- 实现 cxTreeList使用复选框实现多选 自动级联选择
- 第七周上机实践
- C中static的常见作用