【发布时间】:2020-01-20 17:33:06
【问题描述】:
我有一个嵌入在UINavigationController 中的UIViewController。这个视图控制器的导航项是一个UISegmentedControl,有 3 个段。我正在尝试找到一种方法来为每个细分市场添加一个“新”徽章。 UISegmentedControl 似乎通常不允许您这样做,但我认为出于我的目的,也许我可以使用位于每个段的左侧或右侧边缘的自定义 UIView 来模拟这一点。我知道我可以得到UISegmentedControl 的宽度,并且由于自动大小模式设置为“等宽”,我可以简单地将总宽度除以 3 来确定每个段的大致宽度似乎是合理的。
但是,有几件事我不确定:
- 是否可以确定导航栏中
UISegmentedControl的 x/y 位置,以便我知道自定义视图的位置? - 是否可以在导航栏包含的空间内的这些位置添加自定义视图?
【问题讨论】:
-
我的猜测是围绕 UISegmentedControl 创建一个包装视图,并从视图中控制所有逻辑。它基本上可能只是一个 UIView,其中添加了分段控件作为子视图。现在,通过使用简单的计算,您将轻松找到段的位置,而且,由于它位于您自己的 UIView 空间中,您可以随心所欲地在此视图的任何位置添加您的徽章。
-
就用户体验而言,这可能会“导致界面脱节和混乱”。 developer.apple.com/design/human-interface-guidelines/ios/…
标签: ios swift uinavigationcontroller uisegmentedcontrol badge