导航栏标题视图在iOS11中缺失

问题描述:

我正在为swift编写一个项目iPad。 已经在故事板的导航栏标题视图中放置了图像视图。 标题视图按预期显示在iOS 10及以下。 同样的项目,当我运行在iOS 11模拟器和物理设备导航栏不显示标题视图,任何线索将不胜感激。导航栏标题视图在iOS11中缺失

+0

任何关于如何做到这一点的代码将不胜感激。 – Siyavash

+0

没有代码添加标题视图,这是从Storyboard添加 –

+0

[iOS 11 Navigation TitleView错位]的可能的重复(https://*.com/questions/46578752/ios-11-navigation-titleview-misplaced) – Dania

也许这可以帮助你

let widthConstraint = view.widthAnchor.constraint(equalToConstant: width) 
let heightConstraint = view.heightAnchor.constraint(equalToConstant:height) 
widthConstraint.isActive = true 
heightConstraint.isActive = true 

view是,你作为一个自定义标题视图使用的视图。而widthheight是你想要使用的大小。您可以使用:

let width = view.frame.width 
let height = view.frame.height 

在自定义标题视图类中创建自定义视图并覆盖以下方法以在运行时更新视图框架大小。

对象 -

-(CGSize)intrinsicContentSize 
{ 
    [super intrinsicContentSize]; 
    return UILayoutFittingExpandedSize; 
} 

斯威夫特

override var intrinsicContentSize: CGSize { 
    return UILayoutFittingExpandedSize 
} 

检查,让我知道是不是为你工作或没有?

+0

只是调试通过层次结构视图选项,您可以了解ios 11中自定义titleView的帧大小为零。要在运行时更新帧大小,您需要调用此方法。 –

+0

哦,是吗?此代码是否显示了对iOS 10及更低版本的现有行为的任何影响?或者它只针对iOS 11? –

+0

我希望,不会影响iOS 10及更低版本的现有行为。请检查并让我知道。 –