PickerView невидимый на черном фоне
Это может быть глупый и действительно простой вопрос, но я не смог его решить.
У меня есть контроллер представления с черным фоном, на который я поместил элемент управления PickerView. Я установил делегата и источник данных и подтвердил, что они работают должным образом.
Когда я помещаю тот же вид средства выбора на черный фон и устанавливаю оттенок белым, а цвет фона очищаем, вид средства выбора невидим. Все, что я пытаюсь сделать, это иметь белые шрифты на черном фоне, то есть иметь вид средства выбора. Единственный способ сделать видимость выбора - установить белый цвет фона, что наносит ущерб дизайну этого приложения.
Очевидно, я что-то упустил, но что? Какие-либо предложения? Спасибо!
2 ответа
Опция оттенка сделает вид фона тонированным.
Если вы хотите, чтобы текст был белого цвета, вы должны установить белый цвет текста следующим образом ( источник):
- (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;
}
В вашем окне выбора делегат, вместо того, чтобы поставлять titleForRow:
, поставка attributedTitleForRow:
с атрибутивными строками, цвет которых белый.
В качестве альтернативы используйте viewForRow:
и поставьте UILabels с белым шрифтом.