2017-08-31 10 views
0

動作しない、私はこのようなSTH取得:ここUIPickerView ShowsSelectionIndicatorが

enter image description here

を私の実装です:

class TimePicker: UIPickerView { 

    override func awakeFromNib() { 
     self.delegate = self 
     self.dataSource = self 
     self.showsSelectionIndicator = true 
    } 

} 

extension TimePicker: UIPickerViewDelegate { 
    func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? { 
     let minutes = [0,1,2,3,4,5,6,7,8,9,10] 
     let seconds = [0,5,10,15,20,25,30,35,40,45,50,55] 
     switch component { 
     case 0: return minutes[row].description 
     default: return seconds[row].description 
     } 
    } 
} 

extension TimePicker: UIPickerViewDataSource { 

    func numberOfComponents(in pickerView: UIPickerView) -> Int { 
     return 2 
    } 

    func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int { 
     switch component { 
     case 0: 
      return 11 
     default: 
      return 12 

     } 
    } 
} 

と間違っている何私のコードは、インジケータが表示されません、それは本当にひどい見える?

答えて

-1

あなたは(私は迅速な男ではないよと、あなたはpickerViewとして、この方法の迅速なバージョンを取得することができ

- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view { 
UILabel* label = nil; 
if (view == nil) { 
    view = [[UIView alloc] init]; 
    view.backgroundColor = [UIColor blueColor]; 
    label = [[UILabel alloc] initWithFrame:CGRectMake(10, 10, 60, 22)]; 

    NSString *rowTextValue; 
    switch component { 
    case 0: rowTextValue = [Nsstring StringWithFormat:@"%d",minutes[row]]; break; 
    default: rowTextValue = [Nsstring StringWithFormat:@"%d", seconds[row]]; break; 
    } 
    label.text = rowTextValue; 
    [view addSubview:label]; 
} 
    if (label == nil) { 
    NSLog(@"%@",view.subviews); 
    label = view.subviews[0]; // I do get subviews here. 
    } 
return view; 
} 
+0

すなわちコンポーネントの行のビューを設定するには、UIPickerViewDelegateの他の代替デリゲートメソッドを試してくださいすることができます_:viewForRow:forComponent:再利用:) コンポーネント行の内容を提供するメソッド。私はこれをSwiftとObjCとして投稿しました。 –