我想在单击按钮时显示PickerView。 我有一个有3个按钮的视图。在对按钮的相应操作中,我已经分配并初始化了pickerView,如下所示: pickerView = [[UIPickerView alloc] init]; 我还将PickerView添加到子视图中,如下所示: [self.view addSubview:pickerView];
我还使用UIPickerViewDataSource和UIPickerViewDelegate对我的类进行了子类化,如下所示: MyClass:UIViewController
通过NSLoging,我发现没有调用PickerView DataSource和Delegate方法。 当我点击(TouchUpInside)按钮时,视图显示pickerView,其中origin =(0,0)应位于底部,pickerView显示为总黑色。我使用以下方法修复了PickerView的框架: pickerView.frame = CGRectmake(0,180,320,260);
我用Google搜索检查pickerView的DataSource和Delegate方法何时被调用,但我找不到合适的答案。
我在这里尝试了“隐藏”属性如下: 在viewDidLoad方法中: pickerView.hidden = YES; 在单击按钮后调用的方法中: pickerView.hidden = NO;
请帮帮我。我是Objective C的新手。
答案 0 :(得分:4)
如果以编程方式创建选择器 - 您是否实际设置了其委托和dataSource?
// Assuming that delegate and data source is controller where picker is created
pickerView.delegate = self;
pickerView.dataSource = self;