我正在尝试使用带有straptionMimageWithLeftCapWidth的uiimage在我的UIImageView中设置图像,但正在遇到一个奇怪的缩放错误。基本上将我的图像描绘成椭圆形的宽31像素宽。左右15像素是盖子,中间单像素是缩放部分。

如果我将左上盖设置为15,则可以正常工作。但是,如果我将其设置为4。捏。

我得到的是左帽看似正确,其次是一个长的中部部分,就像我在像素5处缩放单像素一样,然后在图像右侧的一部分在图像右侧扩展并超过宽度的宽度约为宽度的两倍。原始图像。所得图像就像温度计灯泡。

有没有人看到这样的奇怪行为,可能知道发生了什么事?

有帮助吗?

解决方案

您的观察是正确的,乔伊。可伸缩的leftcapwidth不会像您期望的那样扩展图像的整个中心。它仅在左盖的右右侧扩展像素列和顶部盖子下方的像素行!

改用Uiview的ContentsTrettret属性,您的问题将得到解决。另一个优点是,contentsTretch还可以正确缩小图形,而可伸缩的leftleftCapWidth仅在使图形更大时起作用。

其他提示

不确定我是否正确,但是为圆角制作了左开关等,圆形半径内的矩形上的所有内容都被拉伸,以适合目标按钮上的“帽子”之间的空间。

因此,如果您的椭圆形比4 x 2 = 8更高或更宽,则中间矩形中的任何内容都将被拉伸。而您的是,它至少会看一点丑陋!但是,如果它甚至都不对称,那么某些事情就会影响延伸。也许与原点或框架有关,或者设置时,或者设置了两次,或者您彼此之间有两个不同的拉伸图像,使温度计看起来。

我曾经使用相同的保留对象在同一位置创建了两个相同的按钮 - 当然可以扔掉上一个按钮。然后我想知道为什么当我将alpha设置为0时,按钮没有消失...但是确实如此,它的下面有一个“死”相同的按钮:)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top