如何在单视图控制器中创建两个多个UIPickerviews [英] how to create two multiple UIPickerviews in single view controller

查看:82
本文介绍了如何在单视图控制器中创建两个多个UIPickerviews的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要使用不同的输入值动态创建两个UIPickers。

I need to create two UIPickers Dynamically with different input values.

我在google中找不到正确的解决方案。

I did n't find correct solution in google.

任何人都可以发布一些代码。

Can any pls post some code.

提前感谢你。

推荐答案

有两种方法。

a)首先,使视图控制器成为两个选择器的委托和数据源。然后在视图控制器的实现中执行以下操作:

a) First, make the view controller the delegate and data source of both the pickers. Then in the view controller's implementation do something like this:

- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
    return ( pickerView == picker1 ? 2 : 3 );
}

- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
    NSArray *values = ( pickerView == picker1 ? values1 : values2 );
    return [values count];
}

- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{
    NSArray *values = ( pickerView == picker1 ? values1 : values2 );
    return [values objectAtIndex: row];
}

请注意,将pickerView参数与指向其中一个的实例变量进行比较选择器视图并决定在运行中为每个选择器视图返回哪些值。​​

Note that you compare the pickerView parameter to an instance variable pointing to one of your picker views and decide "on the fly" which values to return for each of the picker views.

b)为每个选择器视图分配不同的数据源和代理(它们可能是实现UIPickerViewDelegate和UIPickerViewDataSource协议的任何对象,不一定是视图控制器。

b) Assign different data sources and delegates to each of the picker views (they may be any objects implementing UIPickerViewDelegate and UIPickerViewDataSource protocols, not necessarily the view controller).

这篇关于如何在单视图控制器中创建两个多个UIPickerviews的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆