欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

iOS swift 总结NavigationController出现问题及解决方法

程序员文章站 2024-02-17 08:52:52
ios swift 总结navigationcontroller出现问题及解决方法 最近用swift语言做了一些ios项目,颇有些心得,记下一些深刻的问题造福自己,服务大...

ios swift 总结navigationcontroller出现问题及解决方法

最近用swift语言做了一些ios项目,颇有些心得,记下一些深刻的问题造福自己,服务大家

1.以navigationcontroller做为容器后状态栏的字体颜色就会不在受系统的控制,要在navigationcontroller中的根viewcontroller中设置方可生效,代码如下:

self.navigationcontroller!.navigationbar.barstyle = uibarstyle.black

供选择的有uibarstyle.black,uibarstyle.default,uibarstyle.blackopaque,uibarstyle.blacktranslucent,具体选择视项目需求而定

2.navigationcontroller做为容器后自带的滑动返回效果失效问题

导致该问题的情况是在storyboard中push到下一个页面后会自动生成一个navigationitem做为导航栏,当我们自己拖个按钮到导航栏返回按钮的位置,

并自定义了返回事件后,滑动返回效果就会失效

解决方法如下:

navigationcontroller的根viewcontroller继承uigesturerecognizerdelegate,viewdidload()中添加

self.navigationcontroller!.interactivepopgesturerecognizer!.delegate = self

复写方法gesturerecognizershouldbegin()代码如下:

 func gesturerecognizershouldbegin(gesturerecognizer: uigesturerecognizer) -> bool {
    if (self.navigationcontroller!.viewcontrollers.count == 1){
      return false
    }else{
     return true
    }
  }


感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!