在UISegmentedControl中拉伸图像

sho*_*ang 11 uisegmentedcontrol ios

我正在尝试将图像添加到我的UISegmentedControl中,但图像总是自动拉伸以填充整个控件(见图片).我目前正通过调用setImage:forSegmentAtIndex:来设置图像.如何设置图像以保持其纵横比?这似乎应该是一件容易的事,但我无法弄明白.

带有拉伸图标的UISegmentedControl

dal*_*ook 2

设置图像时,请使用:

UIImage *myNewImage = [myOldImage resizableImageWithCapInsets:UIEdgeInsetsMake(top, left, bottom, right)];
[segment setImage:myNewImage forSegmentAtIndex:i];
Run Code Online (Sandbox Code Playgroud)

top, left, bottom, and right您愿意拉伸图像的边缘在哪里。如果您不需要任何可拉伸区域,请使用UIEdgeInsetsZero.

  • 我尝试了“UIEdgeInsetsZero”,但现在图像根本不显示。 (2认同)