- 能干嘛?
你想顯示一個大圖層里面的一小部分呼畸,如:查看大圖片,查看一大段數(shù)據(jù)或者長文本颁虐。 - 拿啥來干蛮原?
- (void)scrollPoint:(CGPoint)p;
- 局限
能像scrollView滾動視圖,但并不能有滾動條以及有明確的滾動范圍以及其他scrollView的效果( 可能滑動過程中另绩,讓視圖整體滑出視野)
- 代碼示例
view繼承的類:
@implementation shapeView
+ (Class)layerClass {
return [CAScrollLayer class];
}
- (void)setUp {
self.layer.masksToBounds = YES;
UIPanGestureRecognizer *recognizer = nil;
recognizer = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(pan:)];
[self addGestureRecognizer:recognizer];
}
- (id)initWithFrame:(CGRect)frame {
if((self = [super initWithFrame:frame])) {
[self setUp];
}
return self;
}
- (void)awakeFromNib {
[self setUp];
}
- (void)pan:(UIPanGestureRecognizer *)recognizer {
CGPoint offset = self.bounds.origin;
offset.x -= [recognizer translationInView:self].x;
offset.y -= [recognizer translationInView:self].y;
[(CAScrollLayer *)self.layer scrollToPoint:offset];
[recognizer setTranslation:CGPointZero inView:self];
}
@end
viewController:
- (void)viewDidLoad {
[super viewDidLoad];
UIImage *image = [UIImage imageNamed:@"00000"];
UIImageView *iv = [[UIImageView alloc] initWithImage:image];
[self.clipView addSubview:iv];
}
效果圖:
效果圖.png