0
Voici le problème ... J'utilise CA Tiled Layer pour afficher un grand jpg. La vue se charge bien, et quand je vais faire défiler, ça marche bien. Cependant, dès que je fais un zoom avant ou arrière, il défile en haut à gauche (au point d'ancrage) et ne défile pas du tout. Le zoom fonctionne bien, mais je ne peux pas faire défiler.iPhone: CATiledLayer/UIScrollView ne défile pas après le zoom et ne fait que zoomer le point d'ancrage
Voici mon code:
#import <QuartzCore/QuartzCore.h>
#import "PracticeViewController.h"
@implementation practiceViewController
//@synthesize image;
- (void)viewDidLoad
{
NSString *path = [[NSBundle mainBundle] pathForResource:@"H-5" ofType:@"jpg"];
NSData *data = [NSData dataWithContentsOfFile:path];
image = [UIImage imageWithData:data];
CGRect pageRect = CGRectMake(0, 0, image.size.width, image.size.height);
CATiledLayer *tiledLayer = [CATiledLayer layer];
tiledLayer.anchorPoint = CGPointMake(0.0f, 1.0f);
tiledLayer.delegate = self;
tiledLayer.tileSize = CGSizeMake(1000, 1000);
tiledLayer.levelsOfDetail = 6;
tiledLayer.levelsOfDetailBias = 0;
tiledLayer.bounds = pageRect;
tiledLayer.transform = CATransform3DMakeScale(1.0f, -1.0f, 0.3f);
myContentView = [[UIView alloc] initWithFrame:self.view.bounds];
[myContentView.layer addSublayer:tiledLayer];
UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:self.view.bounds];
scrollView.delegate = self;
scrollView.contentSize = pageRect.size;
scrollView.minimumZoomScale = .2;
scrollView.maximumZoomScale = 1;
[scrollView addSubview:myContentView];
[self.view addSubview:scrollView];
}
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
{
return myContentView;
}
- (void)drawLayer:(CALayer *)layer inContext:(CGContextRef)ctx
{
NSString *path = [[NSBundle mainBundle] pathForResource:@"H-5" ofType:@"jpg"];
NSData *data = [NSData dataWithContentsOfFile:path];
image = [UIImage imageWithData:data];
CGRect imageRect = CGRectMake (0.0, 0.0, image.size.width, image.size.height);
CGContextDrawImage (ctx, imageRect, [image CGImage]);
}
@end
double possible de http://stackoverflow.com/questions/2738412/why-wont-my-catiledlayer-scroll-in -a-uiscrollview-after-zoom –
l'autre thread a commencé avec un problème différent (qui a été résolu) et a évolué dans ce problème spécifique, qui n'est pas encore résolu. – Brodie
double de question ci-dessous liée http://stackoverflow.com/questions/2738412/why-wont-my-catiledlayer-scroll-in-a-uiscrollview-after-zooming –