-1

我是 iO 的新手,并尝试将选取器 UI 元素动态添加到 UI。在类 - UIPickerView 中,我没有看到任何将选择器添加到视图的方法。有没有人试过这样做?非常感谢。

4

4 回答 4

0

您将选择器添加到视图中,就像您要添加的 UIView -> addSubview 方法一样。

UIPickerView *pickerView = [[UIPickerView alloc] initWithFrame:CGRectMake(0,200,320,200,)]];
pickerView.delegate = self;
[self.view addSubview:pickerView];

不要忘记设置它的委托并实现它以实现它的功能。

于 2013-04-23T05:35:08.757 回答
0

首先将内存分配给您的选择器视图。

UIPickerView *pickerView = [[UIPickerView alloc] initWithFrame:CGRectMake(0, 265, 320, 216)];

然后设置委托和数据源。

pickerView.dataSource=self;
pickerView.delegate=self;

之后将选择器视图添加到您的主视图。

[self.view addSubview:pickerView];

之后你应该实现pickerview的方法。

- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
    return 1;
}

- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{    
     return [array count];
}

- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{
        return [array objectAtIndex:row];
}

我希望这会正常工作。

于 2013-04-23T05:41:53.113 回答
0

和其他的一样,你需要 alloc+initWithFrame。

UIPickerView *pickerView = [[UIPickerView alloc] initWithFrame:CGRectMake(0, 100, 0, 0)];

然后将其添加到您的目标视图。

[yourView addSubview:pickerView];

您还需要设置它的委托和数据源,这将在选择器视图中显示您的所有元素。

pickerView.dataSource=self;
pickerView.delegate=self;

和所有其他定制为:

pickerView.showsSelectionIndicator=YES;

- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component {
  return [array objectAtIndex:row];
}
于 2013-04-23T05:34:41.590 回答
0

我没有看到任何将选择器添加到视图的方法

UIPickerView 是 UIView 的子类,因此您可以使用与将任何子视图添加到视图中相同的方法,即-addSubview:,如下所示:

UIPickerView *picker = [[UIPickerView alloc] initWithFrame:theFrame];
picker.delegate = self;
picker.dataSource = self;
[self.view addSubview:picker];

我在这里假设该代码位于视图控制器中,该控制器既充当了选择器的代表和数据源。

于 2013-04-23T05:39:07.580 回答