iOS 9 UISegmentedControl与矢量图像拉伸

时间:2015-12-17 14:17:04

标签: ios9 photoshop uisegmentedcontrol vector-graphics asset-catalog

我的应用在其导航栏中有许多按钮。这些都是带有一个段的UISegmentedControls,包含在UIBarButtonItems中。其中一些图像是我通过项目的资产目录添加的,这些图像的宽度都是50。

我使用Photoshop创建我的按钮图像,并将它们保存为PDF,以便我可以将它们用作Xcode中的矢量图像。图标本身是30x20。

问题是,图像略微偏离。有几个带1px边框的小盒子,它们看起来垂直拉伸。我已经尝试了我认为宽度(30到50之间)和高度(20到44之间)的每个组合,包括方形(30x30,36x36等)和2:1(50x25,48x24,40x20等) )和各种奇怪的维度,似乎没有什么是正确的。我也尝试将尺寸加倍,但图像的垂直压缩程度要高得多。

我的问题是:拥有.psd文件的确切分辨率是什么,以便向量不会以某种方式显示拉伸?它在我的资产目录,iPad Pro和iPhone 6上看起来同样糟糕。

1 个答案:

答案 0 :(得分:0)

设置图像时,可以使用以下代码在图像周围设置边距:

yourSegmentedControl.setImage(yourImage.resizableImage(withCapInsets: .init(top: 0, left: 10, bottom: 0, right: 10), resizingMode: .stretch), forSegmentAt: 0)

您可以根据需要更改“顶部”,“左侧”,“底部”和“右侧”的值。 通过这种方式,您可以根据需要设置每个图像部分。这对我有用,我希望它会有所帮助!