在CALayer的API中,“position”用于设置图层的位置。
经过我的测试,设置“bounds.origin”并不起作用。我错过了什么吗?
经过我的测试,设置“bounds.origin”并不起作用。我错过了什么吗?
bounds.origin
控制图层坐标系的原点相对于其父图层中图层框架的位置。更改它会产生两个可见效果:
UIScrollView
时,滚动视图不会更改其子视图的框架。它只是更改了其bounds.origin
。我建议您设置一个玩具应用程序,使用计时器或其他触发器执行NSLog("scroll view bounds = %@", NSStringFromCGRect(scrollView.bounds));
,以了解正在发生的情况。drawInContext:
中图形上下文坐标系的原点。通常在视图的drawRect:
方法中看到此效果。您drawRect:
内部的CGContext
将被self.bounds.origin
平移。bounds origin
。
frame.origin
影响图层在其父图层中的位置。bounds.origin
影响图层子图层和内容的位置。 - rob mayoffbounds.origin
不会影响分配给layer.contents
图像的屏幕位置,但却会影响子图层和绘制图形的位置。最清晰的表述似乎是:bounds.origin
用于确定子图层和绘制内容在内容内部的位置,而不是内容本身的位置。我花了几个小时才完全理解这一点! - algal