我想有一个UIView
子类,它有一个边框图像,但我不想或不关心边框图像本身周围的这个“新”边框/边界。UIView上的边框图像
我想要做的只是使用drawRect
并绘制在矩形的外部,但是所有图形都被剪切掉了,而且我没有看到在这个上下文之外不剪切绘图的方法。
所以现在我已经添加了一个子图层到视图图层,在视图上设置[self clipsToBounds]
并覆盖setFrame
来控制我的子图层并始终将其保持在正确的大小(溢出视图帧40px)。
与此问题是setFrame
在uiview
默认情况下没有动画,但seTFrame
在calayer
做。
我不能只是禁用的calayers
setFrame
动画,因为如果我要呼吁uiview
setFrame
一个uiview
动画里面挡住calayer
仍然有它的动画禁用。
显而易见的解决方法是查看uiview
动画上的当前animationDuration
并在子图层上设置匹配的动画,但我不知道该值是否可用。即使是这样,我担心从另一个动画中调用动画是错误的。
不幸的是,最好的解决办法是在所有不使用calayer
,只是增加一个uiview
为subview
并绘制成就像我拉进我的层,并希望与autoresizingMask
设置为高度和宽度,一切都会'只是工作'。对于这样一个简单的任务似乎是不必要的开销。
实际上无论哪种方式,都需要更多的胶水代码才能在中间动画时保持加盖的图像不被扭曲:/ – drunknbass 2010-03-19 23:05:07
如果您已经得到答案,请将其标记为已回答它给予帮助您的人的动力,您也可以upvote他们。 – 2010-03-20 04:46:13