iOS:动态添加Picker Ui元素

时间:2013-04-23 05:30:24

标签: ios uiview picker

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

4 个答案:

答案 0 :(得分:0)

和其他人一样,你需要分配+ 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];
}

答案 1 :(得分:0)

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

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

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

答案 2 :(得分:0)

  

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

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

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

我在这里假设代码在一个视图控制器中,它既充当了选择器的委托和数据源。

答案 3 :(得分: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];
}

我希望这会很好。