Код: Выделить всё
#import "ViewController.h"
@interface ViewController ()
@property (strong, nonatomic) IBOutlet UIScrollView *scrollView;
@property (strong, nonatomic) IBOutlet UIView *zoomingView;
@property (strong, nonatomic) IBOutlet UIView *view1;
@property (strong, nonatomic) IBOutlet UIView *view2;
@property (strong, nonatomic) IBOutlet UIView *centerView;
@end
@implementation ViewController
{
NSArray *_views;
}
- (void)viewDidLoad
{
[super viewDidLoad];
_views = @[self.view1, self.view2];
}
- (CGFloat)invertedZoomScale
{
return 1.0 / self.scrollView.zoomScale;
}
- (void)updateWithZoom:(CGFloat)zoom
{
for (UIView *view in _views) {
CGFloat tx = 0; // TODO: calculate
CGFloat ty = 0;
if ([view isEqual:_views.firstObject]) {
tx *= -1;
}
CGAffineTransform scaleTransform = CGAffineTransformMakeScale(self.invertedZoomScale, self.invertedZoomScale);
CGAffineTransform translationTransform = CGAffineTransformMakeTranslation(tx, ty);
view.transform = CGAffineTransformConcat(scaleTransform, translationTransform);
}
}
- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
{
return self.zoomingView;
}
- (void)scrollViewDidZoom:(UIScrollView *)scrollView
{
[self updateWithZoom:scrollView.zoomScale];
}
@end
Начальная позиция
Подробнее здесь: https://stackoverflow.com/questions/796 ... en-zooming