我需要一些帮助来理解在UIView上使用contentStretch属性。我会很感激1)关于如何达到我要去的效果的一些指导和2)关于如何使用这个属性的任何全面文档的参考。虽然我以为我了解苹果的文档,但我现在看到我没有。这是我想要做的。使用contentStretch拉伸UIView的一部分
我有一个自定义的UIView呈现一个看起来像图一样的视图。下面。这个UIView的drawRect方法使用不同的颜色和效果来绘制左边的内部框(带有圆角和白色背景),并且影响其余部分的视图。此外,UIView的四个角不可拉伸(这将导致失真),所以我只需要拉伸UIView背景的中心。
我想将这个视图增长成与图b所示相似的形状。下面。这样做时,我只需要将白色框外部的视图部分(或白色框右侧)拉伸/重复,以增加UIView的高度。
在我所有的尝试我只能够产生影响类似于图C视图中的视图和结果的整个宽度的strecth。
是否有可能对我来说,使用contentStretch达到我想要的效果(图B)?是否还有其他一些技术我应该用于重新绘制整个视图,或者重新绘制唯一的(或最佳)方法来解决这个问题?
感谢,
上面的数字有点误导。它们只是我实际视图的简化线框(用于说明目的)。在我的实际视图中,白色框是一个透明的(alpha = 0)窗口,所以我不知道如何使它成为子视图,并且它仍然像背景上的窗口一样。至于将contentStretch矩形设置在白色方块的下方和右侧(这是我担心我将不得不尝试的),我没有足够的空间来做到这一点,因为白色方块下方的区域处于不可拉伸的区域(拉伸会导致背景变形)。 – kodie 2012-02-22 05:06:03
在这种情况下,只需使用'UIViewContentModeRedraw'并在'drawRect:'中绘制所需的内容即可。 – 2012-02-22 05:40:57
这就是我所担心的,但也是我的预期。谢谢, – kodie 2012-02-22 17:43:18