UIPickerView 滾動選擇器

fb24 9年前發布 | 2K 次閱讀 Objective-C IOS

/////別忘記 .h 中寫代理  <UIPickerViewDelegate,UIPickerViewDataSource>

/////UIPickerView和UIDatePicker是類似的控件,只不過UIDatePicker是日期控件,只能放日期,而UIPickerView可以放任何東西。

  • (void)viewDidLoad { [super viewDidLoad]; _dataArray = [[NSArray alloc] initWithObjects:@"a", @"b", @"c", @"d", @"e", @"f", nil];

    UIPickerView* pv = [[UIPickerView alloc] initWithFrame:CGRectMake(0, 460-216, 320, 216)]; pv.delegate = self; pv.dataSource = self; pv.showsSelectionIndicator = YES; [self.view addSubview:pv]; //[pv release]; }

//多少組

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

//每一組多少行

  • (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component{ if (component == 1) {
      return 3;
    
    } if (component == 0) {
      return _dataArray.count;
    
    } return 10; }

//顯示每一行的文本

  • (NSString )pickerView:(UIPickerView )pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{ if (component == 0) {

      return [_dataArray objectAtIndex:row];
    

    } return [NSString stringWithFormat:@"%d",row]; }

  • (UIView )pickerView:(UIPickerView )pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view{ //如果是第0組 if (component == 0) {

      //如果是第0組的第0行
      if (row == 0) {
          //return 顯示的view
      }
      if (row == 1) {
          //
      }
    

    } UIView* myview = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 20, 20)]; myview.backgroundColor = [UIColor redColor]; return myview; }

//選擇一行就會調用這個方法

  • (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component{ NSLog(@"選擇的是第%d組,第%d行",component,row); }</pre>
 本文由用戶 fb24 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!