Подтвердить что ты не робот

Как настроить внешний вид UIPrintInteractionController

Яблочный синь не соответствует моим цветам приложений, поэтому диалог печати очень раздражает.

В моем приложении iPhone я могу получить правильную навигационную панель и цвета фона с помощью следующего кода UIPrintInteractionControllerDelegate.

- (UIViewController *)printInteractionControllerParentViewController:   (UIPrintInteractionController *)printInteractionController
{
   return self.navigationController;
}
- (void)printInteractionControllerDidPresentPrinterOptions:(UIPrintInteractionController *)printInteractionController
{
   self.navigationController.topViewController.view.backgroundColor = [UIColor whiteColor];   
}

Проблема заключается в том, что я использую собственный класс UIPrintPageRenderer для рендеринга моей страницы. Кажется, это вызывает экран, который появляется после отправки задания на печать. Он имеет навигационную панель с кнопкой "Готово" и сообщение ниже, говорящее "отправка на принтер". Я предполагаю, что это так, что вы можете видеть, что отправляется несколько страниц (у меня есть только один). Это появляется после того, как диалог параметров исчез, и вы вернулись на исходный экран, где вы все начали.

Экран "отправка на принтер" синий и уродливый до макс. Есть ли способ устранить его или настроить его внешний вид?

4b9b3361

Ответ 1

Я не знаю вашего полного кода, но вы можете попробовать протокол внешнего вида. Это позволяет вам установить универсальный цвет (или другое свойство) определенных элементов пользовательского интерфейса, таких как кнопки и столбцы. Таким образом, вы можете установить цвет фона на панели навигации контроллера печати, используя следующий код:

[[UINavigationBar appearance] setTintColor:[UIColor redColor]];

Это сделает все навигационные панели в вашем приложении, включая контроллер навигации печати, красным. Затем вы можете изменить те, которые не хотят быть красными, установив их внешний вид (например, self.navigationController.navigationBar.tintColor).

Кстати, это работает для iOS 7, у iOS 6 нет свойства цвета оттенка, я думаю, что вместо этого он просто использует цвет фона.