UINageLinkController弹出问题

时间:2016-05-31 22:34:19

标签: ios swift uipageviewcontroller

短篇小说:

从UIPageViewController(提供正确的DetailViewController)到UITableViewController,然后更改(在didSelectRowAtIndexPath上)UIPageViewController的DetailViewController和navigationController?.popViewControllerAnimated(true),显示正确的UIPageViewController和更改的DetailViewController,但整个视图被向下移动navigationBar的高度。点击屏幕将其发送到栏下(应该在哪里)。

长篇故事:

  1. 我将UIPageViewController嵌入到UINavigationController中。导航栏半透明
  2. 我在故事板中创建了一个DetailViewController,里面有一个scrollView。
  3. 我在UIPageViewController中创建了自定义函数以返回所需的UIViewController

    func viewDetailViewController(index: Int) -> DetailViewController? {
    if let storyboard = storyboard, page = storyboard.instantiateViewControllerWithIdentifier("DetailViewController") as? DetailViewController {
        // Setting the page variables that it stores
        return page
    }
    return nil
    }
    
  4. 我设置了一个代码(也在UIPageViewController中):

    override func viewWillAppear(animated: Bool) {
    if let viewController = viewDetailViewController(currentIndex) {
        setViewControllers(
            [viewController],
            direction: .Forward,
            animated: false,
            completion: nil)
    }
    }
    
  5. 然后我在故事板中设置了一个条形按钮项目,并将其连接到所以它执行segue到UITableViewController。我想在单击单击时弹出一个viewContorller:

    override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
    tableView.deselectRowAtIndexPath(indexPath, animated: true)
    self.pageViewController.currentIndex = indexPath.row
    navigationController?.popViewControllerAnimated(true)
    }
    
  6. 当弹出视图时,UIPageViewController的新视图被替换,页面运行良好,除了一件事情之外一切都很好。整个视图向下移动导航栏的高度。更奇怪的是(只是)点击屏幕设置滚动视图在导航栏下面(它应该在哪里)
  7. 我还注意到不仅向下移动了scrollView,而且实际向下移动的是包含一个包含scrollView的UIView的UIView。
  8. 可能导致这种情况的原因是什么?

0 个答案:

没有答案