Mam program z jednym głównym kontrolerem widoku, który zawiera przycisk, który użytkownik może dotknąć, aby wyświetlić 4 strony "Szybkiej pomocy" za pomocą UIPageViewController
. Cztery strony to QuickHelpViewController0ID - QuickHelpViewController3ID, a każdy z nich jest standardem UIViewController
. Kiedy dotknij przycisku uruchomić to:Strona UIPageViewController kontroluje zbyt blisko paska głównego w telefonie iPhone X iOS 11
-(void)showQuickHelp
{
// Load the quick help page view controller
self.quickHelpPageVC = [self.storyboard instantiateViewControllerWithIdentifier:@"QuickHelpPageViewControllerID"];
self.quickHelpPageVC.dataSource = self;
// Create initial quick help page
UIViewController *quickHelpVCA = [self quickHelpVCForPageIndex:0];
NSArray <UIViewController *> *quickHelpVCs = @[quickHelpVCA];
// And assign it to the page VC
[self.quickHelpPageVC setViewControllers:quickHelpVCs direction:UIPageViewControllerNavigationDirectionForward animated:NO completion:nil];
[self presentViewController:_quickHelpPageVC animated:YES completion:nil];
} // showQuickHelp:
ja również zapewnić UIPageViewControllerDataSource
stworzyć każdej z 4 stron, ile potrzeba, gdy użytkownik przewija do następnej/poprzedniej strony.
Działa to dobrze na iOS 9.3 i 10.x. Działa również na 11.0 dla wszystkich urządzeń oprócz iPhone X (symulator). Oznacza to, że rząd kropek z 4 stronkami znajduje się w dolnej części ekranu, tylko 1 lub 2 piksele nad nowym "paskiem głównym", który zapewnia iOS 11 (przesuń w górę, aby przełączyć aplikacje itp.).
Znalazłem film z firmy Apple o nazwie , w którym programista omawia naprawianie podobnego problemu, ale w tym przypadku jego rozwiązaniem było po prostu zmienić automatyczny układ, aby ograniczyć dziecko do "bezpiecznego obszaru" zamiast tradycyjnego przewodnik po układzie dolnym. Ale nie używam UIPageControl
na innym kontrolerze widoku; Używam UIPageViewController
i nie widzę żadnego sposobu kontrolowania położenia elementów sterujących strony wzdłuż dolnej części okna. (Tak, włączam opcję "Użyj przewodnika układu bezpiecznego obszaru" w Konstruktorze interfejsów.)
Nie mogę sobie wyobrazić, że iOS 11 domyślnie w moim scenariuszu jest niepoprawnie ustawiony UIPageViewController
, ani nie widzę żadnego oczywistego sposobu naprawić to. Jakieś sugestie?
To zdecydowanie błąd. Kolejnym jest pływający pasek narzędzi w kontrolerze UINavigationController. Mam nadzieję, że wkrótce to naprawią. – ian
Dzięki za odpowiedź. FYI, zaakceptowałbym to jako odpowiedź, gdyby była to samodzielna odpowiedź zamiast komentarza; Nie widzę sposobu, aby zaakceptować komentarz jako odpowiedź. Dzięki jeszcze raz. – Kenster999