0

我在导航栏中心的 UISegmentedControl 在除 iOS 9 之外的所有 iOS 版本中看起来都很好。我查看了很多讨论,但找不到解决方案。

这发生在 iOS 9 这发生在 iOS 9

它应该看起来像这样

应该是这样的

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

listToggle = UISegmentedControl(items: [title1, title2])
self.navigationItem.titleView = listToggle

我还尝试使用 UIView 将切换器包装在其中然后显示它,但没有用。使分段控件更小也不起作用。

4

1 回答 1

0

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

毕竟它在除 iOS 9 和非常旧的设备上的所有其他 iOS 版本上都可以正常工作。但了解标题视图的工作原理是一个好习惯。

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

于 2019-12-10T15:54:49.773 回答