ズームインできませんUIScrollView
。したがって、問題は、パンが完全に機能していることです。ただし、ピンチとズームは機能しません。私が想定する理由は、私には代理人がいないからです。
私のアプローチ:
私はデリゲートを使おうとしていますが、私が思いついた唯一の解決策は
scrollView.delegate=self
に何かを含める必要があることは理解していますが、それ
ViewController.h
をどのように配置@property UIScrollView *scrollView;
してズーム機能に接続するのかわかりません。
私は正しい方向に進んでいると思いますが、どこに接続するかについての提案は高く評価されています。
ViewController.h
#import <UIKit/UIKit.h>
@interface ViewController : UIViewController
@end
ViewController.m
@implementation ViewController
- (void)viewDidLoad
{
[super viewDidLoad];
UIScrollView *scrollView = [[UIScrollView alloc] initWithFrame:
CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];
scrollView.delegate = self;
CGSize containerSize = CGSizeMake(1280, 1280);
UIView *containerView = [[UIView alloc] initWithFrame:(CGRect) {.origin=CGPointMake(0.0f, 0.0f), .size=containerSize}];
containerView.backgroundColor = [UIColor grayColor ];
[scrollView addSubview:containerView];
// Set up our custom view hierarchy
UIView *redView = [[UIView alloc] initWithFrame:CGRectMake(0.0f, 0.0f, 640.0f, 80.0f)];
redView.backgroundColor = [UIColor redColor];
[containerView addSubview:redView];
UIView *blueView = [[UIView alloc] initWithFrame:CGRectMake(0.0f, 560.0f, 640.0f, 80.0f)];
blueView.backgroundColor = [UIColor blueColor];
[containerView addSubview:blueView];
UIView *greenView = [[UIView alloc] initWithFrame:CGRectMake(160.0f, 160.0f, 320.0f, 320.0f)];
greenView.backgroundColor = [UIColor greenColor];
[containerView addSubview:greenView];
UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"slow.png"]];
imageView.center = CGPointMake(320.0f, 320.0f);
[containerView addSubview:imageView];
scrollView.panGestureRecognizer.minimumNumberOfTouches=2;
CGSize containerSize2 = CGSizeMake(640, 640);
scrollView.contentSize=containerSize2;
CGRect viewRect = CGRectMake(self.view.bounds.origin.x, self.view.bounds.origin.y, self.view.bounds.size.width, self.view.bounds.size.height);
[self.view addSubview:scrollView];
}
- (UIView*)viewForZoomingInScrollView:(UIScrollView *)scrollView {
// Return the view that we want to zoom
return self.containerView; //This gives error.
}