Я использую WEPopover (https://github.com/werner77/WEPopover) для отображения popovers на iPhone. К сожалению, он не работает, если я использую общий номер UIViewController
для contentViewController
.WEPopover не работает с UIViewController! = UITableViewController
- (IBAction)showPopover:(id)sender
{
UIViewController *contentViewController = [[PopoverContentViewController alloc] init];
popoverController = [[WEPopoverController alloc] initWithContentViewController:contentViewController];
popoverController.delegate = self;
[popoverController presentPopoverFromBarButtonItem:sender permittedArrowDirections:(UIPopoverArrowDirectionUp) animated:YES];
}
Это просто представляет собой черный popover без содержания. PopoverContentViewController
- это обычный UIViewController, созданный XCode без каких-либо изменений. В моем раскадровке я добавил ViewController, установил его размер в произвольную форму и установил размер представления на что-то ниже стандартного размера iPhone. Я установил владельца этого контроллера view PopoverContentViewController
. К сожалению, он не показывает контент, он просто показывает черное всплывающее окно.
Если я меняю PopoverContentViewController
на UITableViewController
, он показывает вид таблицы, но это не то, что я хочу.
Что я сделал не так?
Thx, это так! Теперь контроллер отобразится. Но в моей раскадровке контроллер имеет произвольную форму, а размер представления - 220x135 точек. К сожалению, popover намного больше, почти весь размер iPhone. Зачем? И стрелка вне экрана, вы видите только ее немного. – tester
@tester - в коде установите свойство contentSizeForViewInPopover вашего контроллера содержимого в правильное значение CGSize. Вам нужно сделать это до его представления (WEPopover не отслеживает значение для изменения после презентации). – TomSwift
работает как шарм! 1 вверх – tester