代码之家  ›  专栏  ›  技术社区  ›  4thSpace wkw

uipickerview不显示

  •  4
  • 4thSpace wkw  · 技术社区  · 14 年前

    我在uiview上有一个uipickerview。我已经在.h和.m文件中实现了它的协议:

     <UIPickerViewDataSource, UIPickerViewDelegate>
    

    在ib中,我已经将上面的连接到选择器上,这个选择器也有一个iboutlet。方法如下:

    - (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)thePickerView {
    return 1;
    }
    
    - (NSInteger)pickerView:(UIPickerView *)thePickerView numberOfRowsInComponent:(NSInteger)component {
    return [self.arr count];
    }
    
    - (NSString *)pickerView:(UIPickerView *)thePickerView titleForRow:(NSInteger)row  forComponent:(NSInteger)component {
    return @"test";
    }
    
    - (void)pickerView:(UIPickerView *)thePickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component {
    //do something
    }
    

    有什么想法能让我找不到哪一块来工作吗?

    3 回复  |  直到 12 年前
        1
  •  7
  •   user121301    14 年前

    如果没有调用委托方法,那么在ib中,仔细检查选择器视图的委托和数据源出口是否连接到文件的所有者。

    在.h文件中,选择器视图出口的声明如下:

    @属性(非原子,保留)IBoutlet UIPickerView*PickerView;

        2
  •  3
  •   Dalee Davis    12 年前

    您没有将委托分配给uipickerview,因此没有调用任何委托方法。

     UIPickerView *pickerView;
     pickerView.delegate = self;//write this line in view did load method.
    

    希望这有帮助,如果这回答了你的问题,请告诉我。

        3
  •  1
  •   DanKiiing    12 年前

    有时是由于pickerview没有连接到文件所有者的数据源和NIB中的委托。