Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/117.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.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 - Fatal编程技术网

缺少iOS导航栏底线

缺少iOS导航栏底线,ios,Ios,我通过在ViewWillDisplay中添加以下代码使导航栏完全透明: self.navigationController?.navigationBar.setBackgroundImage(UIImage(), forBarMetrics: UIBarMetrics.Default) self.navigationController?.navigationBar.shadowImage = UIImage() self.navigationController?.navigationBar.

我通过在ViewWillDisplay中添加以下代码使导航栏完全透明:

self.navigationController?.navigationBar.setBackgroundImage(UIImage(), forBarMetrics: UIBarMetrics.Default)
self.navigationController?.navigationBar.shadowImage = UIImage()
self.navigationController?.navigationBar.translucent = true
self.navigationController?.navigationBar.barStyle = UIBarStyle.Black
在当前视图消失之前,我通过在ViewDidDemouse方法中执行此操作重置导航栏:

self.navigationController?.navigationBar.setBackgroundImage(nil, forBarMetrics: UIBarMetrics.Default)
self.navigationController?.navigationBar.shadowImage = nil
但结果是导航栏的小底线丢失了,下面是显示正常导航栏的图像:

但结果是这样的:

知道发生了什么事吗?有什么解决办法吗?
谢谢

它丢失了,因为您将“阴影图像”设置为零。要解决此问题,请删除下面的行:

self.navigationController?.navigationBar.shadowImage = nil

它能解决你的问题吗?不,它不能。导航栏的小线条仍然没有显示upBond,你能解释一下你的应用程序的故事板,它是什么时候发生的,是如何发生的吗?另外,我想了解为什么要使用ViewWillAspect/ViewDidDemouse方法。通常,我们使用的是appDelegate…didFinish。。。方法自定义所有控件(如导航栏)的外观。之后,当我们需要定制特定的视图控制器时,我们使用viewDidLoad。方法假设您在主(根)视图控制器中,并推送另一个控制器,但此控制器是透明的。为此,两个视图控制器都需要使用viewDidLoad。并根据您的需要重新设置所有内容。谢谢你的建议,我会试试的。事实上,我对iOS编程还比较陌生。这是我的第二个项目。但我仍然非常感激。我的情况为什么会发生,可能与我制作故事板的方式有关。我选择了一个导航控制器应用程序,以便已经为我设置了两个视图,一个是表视图。但我不希望表视图控制器成为导航控制器的根控制器,因此我将其删除,并将普通UIView拖到情节提要上,使我的自定义控制器成为导航控制器的根控制器。删除上述代码是错误的答案。实际上,上面的代码用于使底线可见。