Настройка вида фона UIPopoverController и цвета границы - PullRequest
16 голосов
/ 12 мая 2011

Можно ли изменить цвет рамки, стиль / цвет панели навигации и стиль / цвет стрелки для всплывающего окна?Если так, то как?Если какой-то пример кода доступен, то это будет здорово!

Ответы [ 8 ]

42 голосов
/ 16 ноября 2013

iOS 7 и выше, вы можете изменить backgroundColor из UIPopoverController, который влияет на цвет фона навигации, а также стрелки всплывающего окна.

@property (nonatomic, copy) UIColor *backgroundColor NS_AVAILABLE_IOS(7_0);

Пример использования:

    if ([self.popoverVC respondsToSelector:@selector(setBackgroundColor:)]) {   // Check to avoid app crash prior to iOS 7
        self.popoverVC.backgroundColor = [UIColor greenColor];
    }

Примечание - На данный момент (iOS 7.0.3), в некоторых случаях (например, установка цвета с помощью colorWithPatternImage :), симулятор не учитывает цвет, но на устройстве работает нормально .

5 голосов
/ 11 мая 2012

Проверьте эту классную ссылку .....

Для iOS5,

http://thinkvitamin.com/code/ios/customizing-the-design-of-uipopovercontroller/

С уважением, Арун.

5 голосов
/ 03 ноября 2011

Теперь в iOS 5 доступен popoverBackgroundViewClass.

2 голосов
/ 24 июня 2011

К сожалению, UIPopoverController не настраивается таким образом.Вы не можете изменить цвет границы, стиль / цвет панели навигации или стиль / цвет стрелки: Как настроить / оформить UIPopoverController .

1 голос
/ 29 августа 2013

Начиная с ios 5, вы можете многое сделать, просто попробуйте эту библиотеку https://github.com/ddebin/DDPopoverBackgroundView Вы можете настроить цвет оттенка границы, ширину бодрера, а также стрелку

посмотрите документацию

0 голосов
/ 14 декабря 2011

здесь я разработал хорошее решение для этой проблемы:

изменить цвет контроллера навигации в поповере

удачи!

0 голосов
/ 15 августа 2011

Панель навигации и панель инструментов внутри всплывающего окна - это просто стандартные UINavigationBar и UIToolBar, мне удалось изменить их внешний вид так же, как и с помощью обычной панели навигации или панели инструментов. Границу, однако, нелегко настроить.

0 голосов
/ 15 августа 2011

Я пытаюсь обмануть его, настроив viewcontroller внутри popover, а затем скрывая границу popover, используя этот код

UIView * border = [[insideViewController.view.superview.superview.superview subviews] objectAtIndex:0];  
border.hidden = YES;

Приложение на самом деле находится в разработке, поэтому я надеюсь, что другие люди будут комментироватьэто решение.

...