简介
CAScrollLayer
是CALayer
的子类,用于显示层的一部分。CAScrollLayer
的可滚动区域的范围是由它的子层布局来确定的。 CAScrollLayer
不提供键盘或鼠标事件处理,也没有提供可见滚动条。
属性
scrollMode
NSString *, No Animatable。允许滚动方向,可选以下值:
NSString * const kCAScrollNone; // 禁止滚动
NSString * const kCAScrollVertically; // 只允许垂直滚动
NSString * const kCAScrollHorizontally; // 只允许水平滚动
NSString * const kCAScrollBoth; // 可以随便滚动,默认
visibleRect
CGRect, readonly。返回可见区域范围。
此属性是在CALayer
的分类中实现的,所以所有CALayer
子类都可以调用次方法来获取当前显示的可见区域范围。但是必须要是在CAScrollLayer
的子图层。
方法
- (void)scrollToPoint:(CGPoint)p
把指定点p
滚动到左上角。点坐标可以是负值。
- (void)scrollToRect:(CGRect)r
滚动使指定区域r
可见。
如果r.size > self.bounds.size
,则r.size = self.bounds.size
。
- (void)scrollPoint:(CGPoint)p
此方法是在CALayer
的分类中实现。改方法是从自身开始往父图层找到最近的CAScrollLayer
层,然后调用-scrollToPoint:
方法,如果没有找到CAScrollLayer
层则不做任何处理。
- (void)scrollRectToVisible:(CGRect)r
此方法是在CALayer
的分类中实现。改方法是从自身开始往父图层找到最近的CAScrollLayer
层,然后调用-scrollToRect:
方法,如果没有找到CAScrollLayer
层则不做任何处理。