Как добавить два uiscrollview в качестве подпредставления - PullRequest
0 голосов
/ 12 сентября 2011

После долгих исследований и работы в течение нескольких дней, мне действительно нужно некоторое руководство здесь.Я пытаюсь добавить uiscrollview друг на друга.У меня есть два UIScrollViews: ImageScrollView и MarkScrollView.Я хочу добавить MarkScrollView в качестве подпредставления для ImageScrollView.ImageScrollView добавлен в UIViewController MapImageViewController.В ImageScrollView он состоит из изображений, которые находятся в tiledLayer.В MarkScrollView это состоит из imageview, у которого есть изображение указателя.Но по какой-то причине его нельзя добавить как подпредставление к другому представлению.Я добавил свой код.Если кто-нибудь может помочь мне разобраться с ошибкой, она будет очень признательна.

/ ** ImageScrollView.m Добавляет uiview поверх ImageScrollView *** /

UIView *imageView = [[TileView alloc] initWithImageName:imageName size:imageSize];
[(TileView *)imageView setAnnotates:NO]; // ** remove this line to remove the white tile grid **
[self addSubview:imageView];

/ ** MarkScrollView.m Добавляет uiview с uiimages поверх MarkScrollView ** /

UIImage *markerimage = [UIImage imageNamed:@"map.png"];
UIImageView *imageView = [[UIImageView alloc] initWithImage: markerimage];
imageView.image = markerimage;
[imageView setFrame:CGRectMake(100,100,50,50)];
imageview = [[[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 460)] autorelease];
[imageview setBackgroundColor:[UIColor blackColor]];
[imageview addSubview: imageView];
[self addSubview:imageview];

/ ** MapImageViewController.m Добавляет ImageScrollView вначало другого UIScrollView pagingScrollView ** /

 UIScrollView *pagingScrollView;
 ImageScrollView *page = [[[ImageScrollView alloc] init] autorelease];
 [pagingScrollView addSubview:page];

  MarkScrollView *markerScroll = [[[MarkScrollView alloc] init] autorelease];
  [page addSubview:markerScroll]; /**But it never adds the other scrollview here **/

/ ** MapImageViewController.h ** /

@interface MapImageViewController : UIViewController <UIScrollViewDelegate, UIGestureRecognizerDelegate> {

ImageScrollingView *imageScrollView;
MarkerIconsScrollView *markerScrollView;
}

1 Ответ

0 голосов
/ 12 сентября 2011
UIScrollView *pagingScrollView;
 ImageScrollView *page = [[[ImageScrollView alloc] init] autorelease];
 [pagingScrollView addSubview:page];

  MarkScrollView *markerScroll = [[[MarkScrollView alloc] init] autorelease];
  [page addSubview:markerScroll]; /**But it never adds the other scrollview here **/

Я заметил некоторые вещи в этом фрагменте кода:

  1. pagingScrollView никогда не инициализируется
  2. представления, которые вы добавляете в него (при условии, что это на самом делеинициализируются с помощью действительного кадра), не инициализируются с помощью кадра.Всегда используйте - (id) initWithFrame: (CGRect) aRect для инициализации ваших UIViews

Удачи!

...