Skip to content

Instantly share code, notes, and snippets.

@Josscii
Last active April 1, 2017 02:26
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Josscii/599c42c684b6ca8dc1831e0a4caed761 to your computer and use it in GitHub Desktop.
Save Josscii/599c42c684b6ca8dc1831e0a4caed761 to your computer and use it in GitHub Desktop.
image slice 补充

关于 image slice,除了直接在 asset catalog 里面可以设置外,UIKit 也提供了一个 api 供我们使用。

@available(iOS 6.0, *)
open func resizableImage(withCapInsets capInsets: UIEdgeInsets, resizingMode: UIImageResizingMode) -> UIImage

但是这个 api 却不如用 asset 拖动强大,我们通过来看一下区别。

可以看到,在 asset catalog 里面有三条线供我们拖动,从左到右(或从上到下),第一条线到最左边的距离和第三条线到最右边的距离称为 End cap area,这部分在图片被拉伸时保持不变,第一条线到第二条线之间被称为 Resizeable area,这部分在图片拉伸时会通过重复像素或者重复自身来拉伸,而这里奇怪的地方就是,在 asset catalog 里面我们可以指定这部分的大小,而在 api 里我们无法进行图中 width 的设置,另外第二条线到第三条线之间的区域将不会被显示,在 api 里我们也无法设置这个部分。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment