1
2
我不认为您遗漏了文档中的任何内容,但是您可能遗漏了扩展提供什么的概念。如果缩放视图或图层的内容,则会调整内容中的所有内容的大小。这实际上是可取的。它使得不必管理所有子视图就可以轻松地进行缩放。听起来您需要的是在视图前面添加一个覆盖层。 我不确定您是如何使视图调整大小的,但是当视图加载时,添加一个覆盖核心动画层,您可以随着视图比例调整其大小。注意,我在引用覆盖层时使用了“调整大小”而不是“缩放”。 要使其正确工作,您必须确保覆盖层是您正在缩放的视图的同级,而不是子视图,否则它也将被缩放。 有趣的是,您可以使用cashapelayer并利用它的linedashpattern属性,该属性使用一个浮点数组来指定一个可以勾勒您指定的cgrect的短划线模式。然后可以使用linedashphase属性和一个cabasicanization为该模式设置动画,使其具有行军蚂蚁效果。如果你感兴趣的话,我可以详细说明。 更新:我继续 wrote a blog post on getting the marching ants effect working using Core Animation . 抱歉,我没有时间来解决你的问题,但是博客文章可能会帮助你找到正确的方向。 |
2
1
您可能需要检查正在进行核心图形绘制的视图的内容模式。我最近遇到了一个问题,在可变高度的TableView单元格中有垂直虚线,其比例与您描述的相似。如果将ContentMode设置为uiViewContentModedRaw,则应在帧更改时使用DrawRect手动绘制视图,而不是缩放它。 |
3
0
我认为你可以逆变换来做你想做的。如果我在这一点上是错的,那么如果你知道你的尺度和翻译值,你应该能够构建相反的转换。 另一种方法是绘制到图层上,而不是直接绘制到视图中,并且只缩放图层。 在许多应用程序(如AdobeIllustrator)中,矩形天棚实际上是主窗口前面的一个透明窗口。 |
user2606782 · 限制子视图在superview边界内的移动 7 年前 |