Ответ 1
К сожалению, UIPopoverController
не настраивается таким образом. Вы не можете изменить цвет рамки, стиль/цвет панели навигации или стиль/цвет стрелки: Как настроить/создать UIPopoverController.
Можно ли изменить цвет рамки, стиль/цвет панели навигации и стиль/цвет стрелки? Если да, то как? Если какой-то образец кода доступен, тогда это будет здорово!
К сожалению, UIPopoverController
не настраивается таким образом. Вы не можете изменить цвет рамки, стиль/цвет панели навигации или стиль/цвет стрелки: Как настроить/создать UIPopoverController.
iOS 7, вы можете изменить backgroundColor
UIPopoverController
, который влияет на цвет фона навигации, а также стрелки popover.
@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:), симулятор не соблюдает цвет, но на устройстве он отлично работает.
Теперь в iOS 5 доступен popoverBackgroundViewClass.
Отметьте эту прохладную ссылку.....
Для iOS5,
http://thinkvitamin.com/code/ios/customizing-the-design-of-uipopovercontroller/
С уважением, Арун.
Начиная с ios 5, вы можете просто попробовать эту библиотеку https://github.com/ddebin/DDPopoverBackgroundView вы можете настроить цвет границы границы, ширину бодлера, а также стрелку
посмотреть документацию
Панель навигации и панель инструментов внутри popover - это всего лишь стандартный UINavigationBar и UIToolBar, у меня был успех в изменении их внешнего вида так же, как с обычной навигационной панелью или панелью инструментов. Однако граница не легко настраивается.
здесь я разработал хорошее решение этой проблемы:
изменить контроллер цветной навигации в папке
Удачи!
Я пытаюсь обмануть его, настроив viewcontroller внутри popover, а затем скрыв границу popover с помощью этого кода
UIView * border = [[insideViewController.view.superview.superview.superview subviews] objectAtIndex:0];
border.hidden = YES;
Приложение на самом деле все еще находится в разработке, поэтому я надеюсь, что другие люди будут комментировать это решение.