查看iOS11上的一个行为,该行为带有一个navgationItem.titleView,其中title View的宽度不是整个屏幕的宽度.

我有一个设置为title View的自定义视图.在iOS11之前,视图将填充导航栏区域.但iOS11没有调整大小来填满屏幕的宽度.

我试过在设置title View之前设置视图的框架,但没有成功.我也曾试图强制TitleViews的SuperView进行布局限制,但没有成功.

所附屏幕截图:

IOS10:

enter image description here

iOS11:

enter image description here

还有谁经历过这种情况吗?

推荐答案

我想通了.我必须覆盖视图和文本字段的veninsicContentSize getter.

我将宽度设置为CGFloat.Great estFiniteMagnitude,以便它始终与屏幕一样宽.

Update:

既然我已经在这个问题上花了几个小时,希望其他人能更快地赶上,把所有的事情都放在一起

我已经创建了一个自定义子类TitleView,名为CustomTitleView,代码如下:

import UIKit

class CustomTitleView: UIView {

  override var intrinsicContentSize: CGSize {
    return UIView.layoutFittingExpandedSize
  }
}

我从一开始就错过了最重要的部分是:

enter image description here

Ios相关问答推荐

如何调整包含extView的UICollectionViewListCell的大小?

设置堆栈视图的所有属性

如何在不将应用程序留在SwiftUI上的情况下更改语言?

如何在KMM项目中处理PHPickerViewController的回调?

带菜单的选取器不适用于Int32,但适用于Int

clang:错误:SDK 路径中不包含libarclite

为什么IOS多行文本输入在React原生纸张对话框中无法正常工作?

SwiftUI 故障/错误 - 在 LazyVStack 和 ScrollView 中使用 AVPlayer 时状态栏不显示

垂直分页 UIScrollView 高度不正确

如何使用 pushViewController 从 UIHostingController 的 SwiftUI 视图中推送 ViewController?

如何在 SwiftUI 中将选项卡放在滚动视图中?

SwiftUI Select 器值在超过最大值时重置

在所有 tableview / collectionview 中禁用滚动指示器

如何启用滑动以删除 TableView 中的单元格?

将 iPhone xib 转换为 iPad xib?

以编程方式 Select UITextField 中的所有文本

如何将自己项目中的类导入 Playground

CoreBluetooth 应用程序到底能在后台做什么?

在 iOS 上编写文件

AFNetworking 2.0 向 GET 请求添加标头