我正在尝试以编程方式创建PickerView
视图。
我已经遵循了所有必要的步骤,但选择器只是出现,然后立即消失。没有数据可以看到。
我正在设置委托和数据源,并且我已经实现了必要的方法。 这是我的代码:
在.h
@interface NJATimeEntryViewController : UIViewController <UIPickerViewDelegate, UIPickerViewDataSource>
@property (nonatomic, strong) UIPickerView *customerPicker;
@property (nonatomic, strong) NSArray *pickerTitles;
@end
<。> in .m
- (void)viewDidLoad
{
[super viewDidLoad];
self.pickerTitles = @[@"ONE", @"TWO", @"THREE"];
self.customerPicker = [[UIPickerView alloc] initWithFrame:CGRectMake(0, 200, 320, 200)];
self.customerPicker.dataSource = self;
self.customerPicker.delegate = self;
[self.view addSubview:self.customerPicker];
}
-(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
return 1;
}
-(NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
return self.pickerTitles.count;
}
-(NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{
return [[self pickerTitles] objectAtIndex:row];
}
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
{
NSLog(@"Selected Row %d", row);
}
感谢所有帮助。
FIXED:
我所做的只是设置视图控制器视图的背景颜色,现在它可以正常工作。我认为这是一个错误,因为没有说明必须设置背景颜色。
答案 0 :(得分:0)
设置视图的某些背景颜色(黑色除外),然后尝试
self.view.backgroundColor=[UIColor yellowColor];