IOS UIPickerView 用法

IOS UIPickerView:

 

1 uipickerview

2 datasource

3 delegate

4 yourself make picker view;

 

1 .h file

@interface ViewController : UIViewController

 <UIPickerViewDelegate,UIPickerViewDataSource>

{

    UILabel *label;

    UIPickerView *pickerview;

    NSArray *fontAry;

}

@property (nonatomic,retain) IBOutlet UILabel *label;

@property (nonatomic,retain) IBOutlet UIPickerView *pickerview;


@end

 

2 .m file

 

@synthesize label;

@synthesize pickerview; 

 - (void)viewDidLoad

{

    [super viewDidLoad];

// Do any additional setup after loading the view, typically from a nib.

    fontAry=[[UIFont familyNames] retain];

    pickerview.delegate=self;

    pickerview.dataSource=self;

}

- (void)viewDidUnload

{

    [super viewDidUnload];

    // Release any retained subviews of the main view.

    // e.g. self.myOutlet = nil;

    self.label=nil;

    self.pickerview=nil;

}


-(void)dealloc

{

    [label retain];

    [pickerview retain];

    [super dealloc];

} 

#pragma mark pickerview function


/* return cor of pickerview*/

-(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView

{

    return 1;

}

/*return row number*/

-(NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component

{

    return [fontAry count];

}


/*return component row str*/

-(NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component

{

    return [fontAry objectAtIndex:row];

}


/*choose com is component,row's function*/

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

{

   // NSLog(@"font %@ is selected.",row);

    NSString *fontname=[fontAry objectAtIndex:row];

    label.font=[UIFont fontWithName:fontname size:20.0f];

    label.text=[NSString stringWithFormat:@"selected font is : %@ ",fontname];

    

}

 3 run result

 

 

posted @   大树2  阅读(9262)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示