UISegmentedControl 如何调整其内容图像的大小?

Mis*_*cha 5 scale uisegmentedcontrol uiimage ios autolayout

我在为UISegmentedControl. 我相信只有在设置过大的图像(超出片段的边界)时才会发生这种情况,我知道正确的解决方案是首先使用合适的图像。但是,我观察到了我想了解的那些大图像的奇怪调整大小行为:

这是两个相同的截图UISegmentedControl。唯一的区别是我为它们的片段使用了不同的图像。


带有超大方形图像的分段控件 带有超大非方形图像的分段控件


我对控制组件进行了颜色编码,如下所示:

  • 黄色:段分隔符

  • 黑色:段背景

正如你所看到的,一些片段图像总是水平扭曲。在第一个带有快乐笑脸的示例中,内部两个图像以正确的纵横比出现,而外部图像被压缩。在带有痛苦笑脸的第二个示例中,外部图像以正确的纵横比显示,而内部两个图像被拉伸。

显然 iOS 处理内部和外部段图像的方式不同。有谁知道为什么会这样?iOS 在什么情况下会挤压或拉伸分段图像?