2011-04-01 39 views

cevap

19

Evet, bu mümkün. Bunu yapmak için, toplayıcının temsilcisine pickerView:viewForRow:forComponent:reusingView: yöntemini uygulamanız gerekir - orada UILabel örneğini oluşturun ve istediğiniz özellikleri seçin.

+0

Evet !! Teşekkür ederim, harika çalışıyor! – LilMoke

+3

Harika, ancak varsayılan Etiket özelliklerini tahmin etmeden nasıl bilebilirdiniz? –

35
- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view{ 
    UILabel* tView = (UILabel*)view; 
    if (!tView){ 
     tView = [[UILabel alloc] init]; 
      // Setup label properties - frame, font, colors etc 
      ... 
    } 
    // Fill the label text here 
    ... 
    return tView; 
} 
+0

Teşekkürler, iyi çalışıyor. –

0

Bunun için, atfedilen dizelerle giderim.

bu yöntemi uygulamak için temsilci geçerli:

- (NSAttributedString *)pickerView:(UIPickerView *)pickerView 
      attributedTitleForRow:(NSInteger)row 
         forComponent:(NSInteger)component 
+0

Bunu denedi; işe yaramadı (iOS 9.3), ancak çağrıldı. –

+0

iOS 9.3 ile benim için çalıştı. NSAttributedString öğesini doğru şekilde oluşturduğunuzdan emin misiniz? – Rickster

+0

Kesinlikle yanlış bir şey yapmalıyım, ne olduğunu göremedim. Sonunda diğer cevaplarda önerildiği gibi yaptım ve yapılandırılmış bir etiket verdim. –