2017-09-27 2 views
8

私は、1つのメインビューコントローラーを持つプログラムを持っています。これは、ユーザーがUIPageViewControllerで4ページの「クイックヘルプ」を表示するためにタップできます。 4ページはQuickHelpViewController0ID - QuickHelpViewController3IDであり、それぞれ標準UIViewControllerです。彼らは、ボタンをタップすると、私はこれを実行します。必要に応じてUIPageViewControllerページコントロールが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: 

は、私も4ページのそれぞれを作成するためにUIPageViewControllerDataSourceを提供する場合、次/前のページにユーザーがスクロール。

これはiOS 9.3と10.xで正常に動作します。また、iPhone X(シミュレータ)を除くすべてのデバイスで11.0で動作します。その上、4ページのインジケータードットの行は、iOS 11が提供する新しい「ホームバー」の1〜2ピクセルだけ上にあります(アプリケーションを切り替えるためにスライドするなど)。

私はAppleからBuilding Apps for iPhone Xというビデオを見つけましたが、開発者が同様の問題を修正する方法について説明していますが、その解決法は単純に自動レイアウトを変更して従来の下のレイアウトガイド。しかし、別のView ControllerでUIPageControlを使用していません。 UIPageViewControllerを使用していますが、ウィンドウの下部に沿ってページコントロールの位置を制御する方法はありません。 (はい、インターフェイスビルダーの「セーフエリアレイアウトガイドを使用する」オプションを有効にしました)

私のシナリオでは、iOS 11のサイズがデフォルトでUIPageViewControllerが間違っているとは思えません。それを修正する。助言がありますか?

+3

間違いなくバグです。もう1つは、UINavigationControllerのフローティングツールバーです。うまくいけば、彼らはすぐにこれらを修正します。 – ian

+0

答えをありがとう。参考の場合は、コメントではなくスタンドアロンの回答であれば回答として受け付けます。答えとしてコメントを受け入れる方法はありません。再度、感謝します。 – Kenster999

答えて

9
ためのフラグをバーの下に、私はむしろ、プログラム的に拡張エッジを変更するには厄介なハックを入れていないだろうとAppleがうまくいけば、問題を解決するために私が待っています

このため修正が11.2

https://9to5mac.com/2017/10/30/ios-11-2-beta-1/

のUIKitに来ている - 解決済みの問題

iPhone XのUIPageViewControllerにページコントロールを表示すると、画面の下部にホームインジケーターが重複しなくなりました。 (34478195)

+0

驚くばかり!これを投稿してくれてありがとう。 – Kenster999

+0

問題がまだiOS 11.2-Beta2に存在するようですか、何か不足していますか? –

+0

IOS 11.1.2にバグがあり、実際のiPhoneXでテストされていることを確認できます。デバイスをIOS 11.2.1にアップグレードした後、コードを変更せずに問題が解決されました。 – Wayne

1

私は同じ問題を抱えていましたが、メインビューコントローラーの「エッジを伸ばす - アンダーボトムバー」のチェックを外すと、ドットが上がり、シミュレータ上のiPhone Xで正しく表示されることがわかりました。残念ながら、他のすべてのデバイスでもドットを動かすことはできますが、ページ上にあまり余裕がないと問題にはならないかもしれませんが、私にとっては、1ページに多くのテキストを切り詰めました。

は、これは間違いなくバグのように見えるので、底がちょうどiPhone X

関連する問題