प्रतिनिधि विधि में एक समारोह है जो अधिक सुरुचिपूर्ण है:
उद्देश्य सी:
- (NSAttributedString *)pickerView:(UIPickerView *)pickerView attributedTitleForRow:(NSInteger)row forComponent:(NSInteger)component
{
NSString *title = @"sample title";
NSAttributedString *attString =
[[NSAttributedString alloc] initWithString:title attributes:@{NSForegroundColorAttributeName:[UIColor whiteColor]}];
return attString;
}
यदि आप चयन बार के रंगों को भी बदलना चाहते हैं, तो मैंने पाया कि मुझे अलग-अलग UIViews
देखने के लिए 2 अलग-अलग जोड़ना पड़ा UIPickerView
, 180 के बीनने की ऊँचाई के लिए 35 pts के अलावा स्थान दिया।
स्विफ्ट 3:
func pickerView(_ pickerView: UIPickerView, attributedTitleForRow row: Int, forComponent component: Int) -> NSAttributedString? {
let string = "myString"
return NSAttributedString(string: string, attributes: [NSForegroundColorAttributeName:UIColor.white])
}
स्विफ्ट 4:
func pickerView(_ pickerView: UIPickerView, attributedTitleForRow row: Int, forComponent component: Int) -> NSAttributedString? {
let string = "myString"
return NSAttributedString(string: string, attributes: [NSAttributedStringKey.foregroundColor: UIColor.white])
}
स्विफ्ट 4.2:
func pickerView(_ pickerView: UIPickerView, attributedTitleForRow row: Int, forComponent component: Int) -> NSAttributedString? {
let string = "myString"
return NSAttributedString(string: string, attributes: [NSAttributedString.Key.foregroundColor: UIColor.white])
}
याद रखें जब आप विधि का उपयोग करते हैं: आपको titleForRowInComponent()
इसे लागू करने की आवश्यकता नहीं है क्योंकि इसका उपयोग करते समय इसे कभी नहीं कहा जाता है attributedTitleForRow()
।