я в настоящее время имеющий следующую проблему с CATiledLayer: когда просмотр первой загрузке, прокрутка работает отлично, но потом, когда вы увеличиваете один раз, вид привязывается к точке крепления (верхний левый угол), и он больше не может прокручивать все. Масштабирование работает так, что оно будет увеличиваться и уменьшаться, но оно будет приближаться только к верхнему левому углу.Почему мой CATiledLayer не прокручивается в UIScrollView после масштабирования?
Мой код выглядит следующим образом:
#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
Stack Overflow не предназначен для использования для выполнения проверки кода. Если у вас есть особые проблемы, задайте вопросы, связанные с ними. –
У меня есть конкретная проблема, которую я описал ниже в ответе Люциуса. «Хорошо, я обновил свой код, чтобы отразить то, что я прямо сейчас, действительно, есть только одна проблемы сейчас. Когда просмотр первая загрузка, прокрутка работает отлично. Но тогда, когда вы увеличиваете один раз, вид привязывается к точке крепления (верх левый угол), и он больше не может прокручиваться. Масштабирование работает в том, что оно будет увеличиваться и уменьшаться, но оно будет увеличиваться только в верхнем левом углу. "Не уверен, что вы жалуетесь на – Brodie
4598 - в вашем вопросе, и разбор комментариев, чтобы выяснить, что было задано, не очень просто. Я отредактировал ваш вопрос, чтобы отразить то, что вы сейчас задаете. –