0

ビュー内のすべてのオブジェクトをズームする必要がありますが、オブジェクトの位置を失います (UIButton)

- (void)viewDidLoad
    {

        CGRect scrollViewFrame = CGRectMake(0, 0, 320, 460);
        scrollView = [[UIScrollView alloc] initWithFrame:scrollViewFrame];
        scrollView.delegate = self;

        scrollView.minimumZoomScale = 1;
        scrollView.maximumZoomScale = 4.0;


        [self.view addSubview:scrollView];
        CGSize scrollViewContentSize = CGSizeMake(640, 800);
        [scrollView setContentSize:scrollViewContentSize];



        NSMutableArray *datos = [[NSMutableArray alloc]initWithObjects:@"ob1",@"ob2",@"ob3",@"ob4", nil];

         for (int i = 0; i < [datos count]; i++) {


          UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
          [button addTarget:self action:@selector(aMethod)
          forControlEvents:UIControlEventTouchUpInside];
           button.frame = CGRectMake(100, 100*i, 70, 70);
           button.tag = i;
          [button setTitle: @"Line1" forState: UIControlStateNormal];
          button.hidden= NO;
          [scrollView addSubview:button];
          }



 }


-(void)aMethod{ 

}

- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView{

     return scrollView.superview;
}
4

1 に答える 1

1

サブビュー コンテナーをセットアップし、それを viewForZoomingInScrollView として渡す必要があります。

サブビューにはボタンが含まれている必要があります。

self.buttonSubview = [[UIView alloc] initWithFrame:...];
...
[buttonSubview addSubview:button];
...
[scrollView addSubview:buttonSubview];

- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView{
     return self.buttonSubview;
}
于 2013-09-12T16:24:55.943 に答える