当我运行iPhone模拟器时,PickView不可见

时间:2012-05-05 04:30:34

标签: iphone objective-c ios interface-builder

我将PickerView和一个按钮拖到我的xib文件中的View中。

但是,当我构建我的代码时,只有我的按钮显示在模拟器中。似乎PickerView已被隐藏,因为我从PickerView获得了数据。

这个问题的原因是什么?我该如何解决?

3 个答案:

答案 0 :(得分:1)

您必须实现UIPickerViewDataSource中的至少2个方法和UIPickerViewDelegate中的1个方法才能显示选择器视图。以下3种方法创建一个选择器视图,只显示3列12行中的“text”一词:

- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component {
    return @"Test";
}

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

- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component {
    return 12;
}

答案 1 :(得分:0)

不要忘记将UIViewController类声明为UIPickerViewDataSource和UIPickerViewDelegate的委托:

@interface YourCustomClassViewController : UIViewController <UIPickerViewDataSource, UIPickerViewDelegate>

答案 2 :(得分:0)

YourCustomClassViewController.h文件中,

@interface YourCustomClassViewController : UIViewController <UIPickerViewDataSource, UIPickerViewDelegate>{
IBOutlet UIPickerView *pickerView;

}

YourCustomClassViewController.m文件中,您可以添加以下方法

- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component {
    return @"YourName";
}

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

- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component {
    return 5;
}

在您的xib文件(YourCustomClassViewController.xib)中,将Picker连接到File的所有者。喜欢以下方式...

pickerView --->Picker

dataSource --->Picker

delegate ---->Picker

我希望它对你有所帮助。如果您有任何疑问请问我。