Alignment iOS 9标题视图未正确对齐

Alignment iOS 9标题视图未正确对齐,alignment,navbar,ios9,titleview,Alignment,Navbar,Ios9,Titleview,在除iOS 9之外的所有iOS版本中,位于navbar中心的UISegmentedControl看起来都不错。我看过很多讨论,但找不到解决办法 这发生在iOS 9上 应该是这样的 我以这种方式添加了分段控件: listToggle = UISegmentedControl(items: [title1, title2]) self.navigationItem.titleView = listToggle 我还尝试使用UIView将开关包装在其中,然后显示出来,但没有成功。 使分段控件变小

在除iOS 9之外的所有iOS版本中,位于navbar中心的UISegmentedControl看起来都不错。我看过很多讨论,但找不到解决办法

这发生在iOS 9上

应该是这样的

我以这种方式添加了分段控件:

listToggle = UISegmentedControl(items: [title1, title2])
self.navigationItem.titleView = listToggle
我还尝试使用UIView将开关包装在其中,然后显示出来,但没有成功。
使分段控件变小也不起作用

我的UISegmentedControl的问题是,最初我为SegmentedControl的高度和宽度定义了一些约束。但是,当您想要将分段控件指定给navBar上的titleView时,这种方法是错误的。您应该让标题视图自己决定分段控件的高度和宽度

毕竟,除了iOS9和非常旧的设备外,它在所有其他iOS版本上都运行良好。但了解标题视图的工作原理是一个很好的实践

在这之后我学到的另一件值得注意的事情是,在将segmentedControll传递给titleView之前,您应该确保它有一个框架,仅此而已