To może nie być możliwe, ale mam nadzieję, że ktoś będzie miał pomysł, jak to zrobić.Przycisk tworzenia widoku popover anchor w czasie wykonywania
Mam aplikację, którą przesyłam z iPhone'a tylko do Universal. Na iPhonie używam aplikacji z kartami. Używam trzech zakładek, aby wyświetlić normalne dane. Mam kartę czwartą, która jest wyświetlana tylko wtedy, gdy spełnione są określone warunki. Aby dodać zakładkę, robię:
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone)
{
UITabBarController *tabController = (UITabBarController *) self.rootViewController;
NSMutableArray* newArray = [NSMutableArray arrayWithArray: tabController.viewControllers];
[newArray addObject: [theStoryboard instantiateViewControllerWithIdentifier: @"AdditionalView-Phone"]];
[tabController setViewControllers:newArray animated:YES];
}
dla iPad, mam wystarczająco dużo miejsca na początkowym celu wyświetlenia wszystko z trzech głównych kartach iPhone UI. Potrzebuję tylko jednego dodatkowego (małego) widoku dla "dodatkowych" danych. Chciałem to zrobić za pomocą widoku popOver, więc ustawiłem początkowy widok za pomocą paska nawigacji i przycisku popover, jak w szablonie aplikacji narzędziowej. Ale teraz utknąłem. Nie mogę wymyślić, jak utworzyć ten przycisk popover w czasie wykonywania i sprawić, że zrobi to poprawnie przejście do widoku popOver. Mogę dodać przycisk tak:
UIBarButtonItem *flipButton = [[UIBarButtonItem alloc] initWithTitle: @"Modem" style: UIBarButtonItemStylePlain target: self action: @selector(togglePopover:)];
self.navBar.topItem.rightBarButtonItem = flipButton;
ale otrzymuję wyjątek: „NSInternalInconsistencyException”, powód: „UIStoryboardPopoverSegue muszą być przedstawione z pozycji przycisk paska lub widokiem” Jestem prawie pewien, że to dlatego, że nie mam zestawu kotwicy do segregacji popOver. Przycisk nie istnieje w scenorysie, więc nie mogę go tam ustawić. I nie mogę znaleźć interfejsu API do ustawienia go w czasie wykonywania.
Próbowałem również utworzyć przycisk w IB, ale nie w hierarchii widoku, a następnie wystarczy ustawić właściwość rightBarButtonItem na istniejący przycisk. To też działa, ale nadal nie mogę ustawić tego przycisku jako kotwicy dla widoku popover. Mogę ustawić pasek nawigacji jako kotwicę, ale to sprawia, że zakotwicza się w tytule na pasku nawigacji, który wygląda głupio.
Wszelkie pomysły?
Hej @ Flyingdiver znalazłeś rozwiązanie tego? – Rog
Tak, utwórz ukryty UIView, z którego możesz pokazać popover i przenieść go tam, gdzie chcesz. –