iOS 8 UIPageViewController Applying Constraints After Transitions

前端 未结 5 1847
傲寒
傲寒 2020-11-28 03:05

My app has a multi-pane tutorial-style view that users swipe through to learn about the app. This is implemented very much as described in this tutorial. Having implemented

相关标签:
5条回答
  • 2020-11-28 03:19

    For anyone having this issue, for me it appeared to be that I was laying out views "relative to margin" (a new feature in iOS 8).

    Instead of:

    enter image description here

    Use:

    enter image description here

    0 讨论(0)
  • 2020-11-28 03:20

    For me solution was to pin top of the tableView to superview: Editor -> Pin -> Top Space To SuperView (iOS8)

    0 讨论(0)
  • 2020-11-28 03:23

    I figured out you need to base your constraints on the view and not the layout guide of your view controller. This will ensure your view controller respects the constraints you set prior to the transition in a PageViewController.

    you can do this like so:

    Constraints example

    Remember to uncheck "Constrain to margins"

    0 讨论(0)
  • 2020-11-28 03:39

    I've been struggling with this for a few days.

    I tried to implement it by instantiating the page ViewController from the storyboard. There was a definite resizing occurring. Checking the frame size in

    1. pageViewController:viewControllerAfterViewController
    2. pageViewController:willTransitionToViewControllers
    3. pageViewController:didFinishAnimating:previousViewControllers

    The frame size would always change between the calls to 1 and 3. Sometimes before 2 and sometimes after.

    If you're also using storyboards, I was able to resolve the issue by extracting the page UI elements into its own XIB file, setting the constraints in IB and then creating the pages with a call to initWithNibName.

    Not a complete answer but it returned me to feeling productive. Hope it helps.

    0 讨论(0)
  • 2020-11-28 03:41

    It is a bug in iOS 8 but I found a workaround:

    Add an empty view on top of the statusbar in your Storyboard. The height of the view should be as much as the y-value of your object that is being moved.

    Image of correct constraints

    0 讨论(0)
提交回复
热议问题