Как я могу создать галерею для отображения фотографий жестом смахивания? - PullRequest
2 голосов
/ 26 декабря 2011

У меня есть несколько фотографий в NSArray, и я хочу отобразить их жестом смахивания в полном размере без использования Three20 .так как я могу это сделать?

Ответы [ 2 ]

1 голос
/ 27 декабря 2011

Этот код прекрасно работает для меня:

self.view.backgroundColor = [UIColor redColor];
 UIScrollView *scroll = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height)];
 scroll.pagingEnabled = YES;
 NSInteger numberOfViews = 3;
 for (int i = 0; i < numberOfViews; i++) {
  CGFloat yOrigin = i * self.view.frame.size.width;
  UIView *awesomeView = [[UIView alloc] initWithFrame:CGRectMake(yOrigin, 0, self.view.frame.size.width, self.view.frame.size.height)];
  awesomeView.backgroundColor = [UIColor colorWithRed:0.5/i green:0.5 blue:0.5 alpha:1];
  [scroll addSubview:awesomeView];
   [awesomeView release];
  }
  scroll.contentSize = CGSizeMake(self.view.frame.size.width * numberOfViews, self.view.frame.size.height);
  [self.view addSubview:scroll];
  [scroll release];
1 голос
/ 26 декабря 2011

Используйте scrollView для этого:

UIScrollView * scroller = [[[UIScrollView alloc] initWithFrame:CGTectMake(0, 0, 320, 480)] autorelease];
scroller.pagingEnabled = YES;
[self.view addSubview:scroller];

int x = 0;

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

    UIImageView * myImageview = [[[UIImageView alloc] initWithFrame:CGRectMake(x, 0, 320, 480)] autorelease];
    [myImageview setImage:[yourArray objectAtIndex:i]];
    [scroller addSubview:myView];

    x += myView.frame.size.width;

}

[scroller setContentSize:CGSizeMake(x, 480)];
...