UIPickerView数据添加

楼下如果是妹子那就 2014-10-09 08:15:30
直接上代码:
   
self.pickviewarray=[[NSMutableArray alloc]initWithArray:@[@"药物配伍禁忌", @"药物相互作用",@"孕妇慎用",@"儿童慎用",@"药品超剂量"]];
self.pickview=[[UIPickerView alloc]initWithFrame:CGRectMake(self.view.frame.size.width/4, self.view.frame.size.height/4, self.view.frame.size.width/2, 216)];
self.pickview.backgroundColor=[UIColor whiteColor];
[self.view addSubview:self.pickview];
self.pickview.showsSelectionIndicator=YES;
return self.pickview;

我现在pickview能够显示,我想把数组pickviewarray的内容添加到pickview中,这个要怎么做,求大神给解释哈。
...全文
95 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 3 楼 zhanglei5415 的回复:
[quote=引用 2 楼 ningshuang520 的回复:] [quote=引用 1 楼 zhanglei5415 的回复:] /code]
[/code][/quote] 我没有说清楚,已经解决了,不是这的问题,其他地方的回调没有调。
ReyZhang 2014-10-10
  • 打赏
  • 举报
回复
引用 2 楼 ningshuang520 的回复:
[quote=引用 1 楼 zhanglei5415 的回复:] /code]
我这个pickview是通过代码写的,没有xib,这样应该怎么通过代码添加啊。求大神给提示哈。[/quote] 上面回答的还不够清楚 ? 在控制器的头文件中声明需要实现UIPickerView的两个协议 UIPickerViewDelegate, UIPickerViewDataSource 如: @interface yourViewController:UIViewController <UIPickerViewDelegate, UIPickerViewDataSource> 在实现文件中,将你的代码和我回答的整合
-(void)viewDidLoad {
     [super viewDidLoad];

    self.pickviewarray=[[NSMutableArray alloc]initWithArray:@[@"药物配伍禁忌", @"药物相互作用",@"孕妇慎用",@"儿童慎用",@"药品超剂量"]];
   self.pickview=[[UIPickerView alloc]initWithFrame:CGRectMake(self.view.frame.size.width/4, self.view.frame.size.height/4, self.view.frame.size.width/2, 216)];
    self.pickview.backgroundColor=[UIColor whiteColor];

    self.pickview.showsSelectionIndicator=YES;
    self.pickerview.delegate=self;
    self.pickerview.datasource=self;

     [self.view addSubview:self.pickview];
}

//返回显示的列数  
-(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView  
{  
    return 1;  
}  
//返回当前列显示的行数  
-(NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component  
{  
    return [self.pickviewarray count];  
}  
   
#pragma mark Picker Delegate Methods  
   
//返回当前行的内容,此处是将数组中数值添加到滚动的那个显示栏上  
-(NSString*)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component  
{  
    return [self.pickviewarray objectAtIndex:row];  
}
  • 打赏
  • 举报
回复
引用 1 楼 zhanglei5415 的回复:
/code]
我这个pickview是通过代码写的,没有xib,这样应该怎么通过代码添加啊。求大神给提示哈。
ReyZhang 2014-10-09
  • 打赏
  • 举报
回复
在当前控制器的头文件中添加 <UIPickerViewDelegate,UIPickerViewDataSource> ,设置pickerview的代理为当前控制器
self.pickview.delegate=self;
self.pickview.datasource=self;
在.m的实现文件中,实现pickerview的代理方法
//返回显示的列数  
-(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView  
{  
    return 1;  
}  
//返回当前列显示的行数  
-(NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component  
{  
    return [self.pickviewarray count];  
}  
  
#pragma mark Picker Delegate Methods  
  
//返回当前行的内容,此处是将数组中数值添加到滚动的那个显示栏上  
-(NSString*)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component  
{  
    return [self.pickviewarray objectAtIndex:row];  
}

29,028

社区成员

发帖
与我相关
我的任务
社区描述
主要讨论与iOS相关的软件和技术
社区管理员
  • iOS
  • 大熊猫侯佩
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧