Как убрать стрелку Popover iPad и границу рамки - PullRequest
6 голосов
/ 21 января 2011

В основном это два вопроса:

  1. Как убрать стрелку iPad из всплывающего окна?

  2. есть ли способ удалить черную рамку поповера?

Если это невозможно, можете ли вы предложить в iPad способ отображения UIView (всплывающего окна) в верхней части экрана без стрелки и рамки (может быть светлая прозрачная рамка), пожалуйста? Большое спасибо.

И я не думаю, что ModalView - это правильный вариант, так как его нельзя изменить в размере и нельзя отклонить, щелкнув за пределами модального представления.

Ответы [ 4 ]

7 голосов
/ 21 января 2011

AFIK Нет встроенного способа указать «стрелку нет» или иметь всплывающее окно без границ.

Это взлом, но в принципе это работает.В контексте вашего контроллера представления, который управляется всплывающим контроллером, во время viewWillAppear: откройте всплывающее окно и удалите первый слой, который отображает стрелку и границу:

- (void) viewWillAppear: (BOOL) animated
{
    [super viewWillAppear: animated];

    UIView* v = self.view.superview;
    NSLog( @"%@", NSStringFromClass( [v class]) ); // this should print UIView

    v = v.superview;
    NSLog( @"%@", NSStringFromClass( [v class]) ); // this should print UIPopoverView

    [[v.layer.sublayers objectAtIndex:0] removeFromSuperlayer];
}       

Полагаю, выможно поэкспериментировать с добавлением собственного слоя, который отображал фон / границу так, как вы хотели.

7 голосов
/ 19 апреля 2011

Как убрать стрелку iPad в виде всплывающего окна?

При вызове -presentPopoverFromBarButtonItem: allowArrowDirections :, передать 0 как второй параметр, а не любую из констант.Это не задокументировано, но Apple разрешает приложения в App Store при использовании этого параметра.

2 голосов
/ 21 января 2011

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

1 голос
/ 09 ноября 2011
  • Вы не можете удалить стрелку или границу. Если вы делаете какой-то хак, как предложено TomSwift, вы рискуете сбой и отказ от apple при отправке приложения в appStore.

  • Вы можете реализовать свой собственный контроллер, похожий на поповер, хотя, как это было предложено Кевином. Вы можете найти проект с открытым исходным кодом, делающий именно это здесь: https://github.com/werner77/WEPopover. Фон и стрелка могут быть удалены из этого или установлены как прозрачные.

...