Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/115.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 隐藏导航栏时出现奇怪的动画_Ios_Animation_Uinavigationcontroller_Uinavigationbar_Uipageviewcontroller - Fatal编程技术网

Ios 隐藏导航栏时出现奇怪的动画

Ios 隐藏导航栏时出现奇怪的动画,ios,animation,uinavigationcontroller,uinavigationbar,uipageviewcontroller,Ios,Animation,Uinavigationcontroller,Uinavigationbar,Uipageviewcontroller,我正在通过嵌入在UINavigationController中的UIPageViewController子类(称为GalleryController)实现一个照片库。当我点击时,导航栏隐藏,但动画很奇怪: 以下是GalleryController中的代码: override var navigationItem: UINavigationItem { let item = super.navigationItem // Access super and add items

我正在通过嵌入在UINavigationController中的UIPageViewController子类(称为GalleryController)实现一个照片库。当我点击时,导航栏隐藏,但动画很奇怪:

以下是GalleryController中的代码:

  override var navigationItem: UINavigationItem {
    let item = super.navigationItem
    // Access super and add items to it.
    // Don't create a new UINavigationItem instance — that breaks the back button.

    let space = UIBarButtonItem(barButtonSystemItem: .fixedSpace, target: nil, action: nil)
    space.width = touchSize / 2

    item.rightBarButtonItems = [
      UIBarButtonItem(title: "All Photos", style: .plain, target: self, action: #selector(showAllPhotos)),
      space,
      UIBarButtonItem(title: "Delete", style: .plain, target: self, action: #selector(deletePhoto))
    ]
    return item
  }
此问题仅在引入页视图控制器后才开始出现


是什么导致了这种情况,我该如何修复它?

解决方案是在UIPageViewController子类的init中执行以下操作:

automaticallyAdjustsScrollViewInsets = false
我不知道它为什么有效,但它确实有效


我之前在子视图控制器(表示页面视图控制器的单个页面)中进行了此操作,但不起作用。

但您的代码与隐藏动画无关。我遇到了类似(但不是相同)的问题,并且工作正常。检查您的视图将显示()。override func VIEWWILLEXPEND(uuu动画:Bool){;super.VIEWWILLEXPEND(动画);navigationController?.setNavigationBarHidden(true,动画:动画);self.navigationItem.hidesBackButton=true;}@Anbu.Karthik隐藏动画由导航控制器显示。我只是在演示如何配置导航栏,以防它们相互关联。好的,我们来做这个小动作。你是什么意思?