대리자 메서드에는 더 우아한 함수가 있습니다.
목표 -C :
- (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;
}
선택 막대 색상도 변경하려면 선택기 높이 180에 대해 35pt 간격으로을 UIViews
포함하는 뷰에 2 개를 추가해야한다는 것을 알았습니다 UIPickerView
.
스위프트 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])
}
Swift 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()
.