我是iOs的新手,并尝试动态地将选择器UI元素添加到UI。 在类 - UIPickerView中,我没有看到任何方法将选择器添加到视图中。 有没有人试过这样做? 非常感谢。
答案 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];
}
我希望这会很好。