UIColor groupTableViewBackgroundColor является прозрачным
У меня есть сгруппированный стиль UITableView
в моем стеке навигации, и когда я нажимаю на ячейку, я нажимаю UIDatePicker
в стек. Проблема в том, что я хочу, чтобы это пользовательское представление имело тот же цвет фона, что и мое табличное представление.
Я попытался установить цвет фона моего пользовательского вида, например:
datePicker.backgroundColor = [UIColor groupTableViewBackgroundColor];
Но это выходит прозрачным. Я также попытался изменить базовый CGColor
объект имеет альфа 1.0, из-за чего цвет фона стал черным.
Следующее работает как положено:
datePicker.backgroundColor = [UIColor lightGrayColor];
Но, конечно, этот цвет не совсем соответствует цвету фона сгруппированной таблицы.
Я все об этом ошибаюсь? Я нашел похожий пост об этом здесь, но без полезного ответа.
1 ответ
Что вы имеете в виду, что вы "помещаете UIDatePicker в стек"? Почему бы вам не попробовать анимировать UIDatePicker в поле зрения?
при загрузке представления создайте средство выбора и отключите экран, например,
[picker setFrame:CGRectMake(0,960,320,216)];
затем вместо того, чтобы "толкать" сборщик, анимируйте его в виде:
[UIView beginAnimations:nil context:NULL];
[picker setFrame:CGRectMake(0,200,320,216)];
[UIView commitAnimations];
А когда вы хотите отменить сборщик, просто спрячьте его так:
[UIView beginAnimations:nil context:NULL];
[picker setFrame:CGRectMake(0,960,320,216)];
[UIView commitAnimations];
Если вам нужно, вы также можете добавить панель инструментов с кнопкой "Готово", чтобы закрыть окно выбора, отлично работает для меня.
Если содержимое сборщика будет отображаться в таблице, вы можете установить кадр таблицы в этой последовательности анимации. в первом случае сделайте таблицу вдвое меньше (например, 150 для моего примера будет работать идеально), затем в последовательности скрытия установите в таблице исходный размер (415 для этого примера). А когда ты прячешь сборщик, звони [tableView reloadData];
обновить стол.