Enormego PhotoViewer - Как правильно добавить EGOPhotoViewController в подпредставление? - PullRequest
1 голос
/ 22 июня 2011

Я просто пробовал Enormego Photoviewer (https://github.com/enormego/PhotoViewer) демо, так как я прочитал пару постов здесь, рекомендуя его как легкую альтернативу Three20. При тестировании демо я смог отобразить галерею, используяpresentPopoverFromBarButtonItem, а также метод ModalViewController, все работает отлично. Однако, когда я добавляю EGOPhotoViewController как подпредставление другого представления, даже если появляются изображения, фотографии не появляются, пока я не начну смахивать в области темных изображений.фотография (даже если вы можете мельком увидеть следующее изображение) не будет переходить к следующей фотографии.

Исходный код - (с помощью UIPopover)

- (void)showPhotoView:(UIBarButtonItem*)sender{

    MyPhoto *webPhoto = [[MyPhoto alloc] initWithImageURL:[NSURL URLWithString:@"http://a3.twimg.com/profile_images/66601193/cactus.jpg"] name:@" laksd;lkas;dlkaslkd ;a"];
    MyPhoto *filePathPhoto = [[MyPhoto alloc] initWithImageURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"local_image_2" ofType:@"jpg"]]];
    MyPhoto *inMemoryPhoto = [[MyPhoto alloc] initWithImage:[UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"local_image_1" ofType:@"jpg"]]];

    MyPhotoSource *source = [[MyPhotoSource alloc] initWithPhotos:[NSArray arrayWithObjects:webPhoto, filePathPhoto, inMemoryPhoto, nil]];

    EGOPhotoViewController *photoController = [[EGOPhotoViewController alloc] initWithPhotoSource:source];
    photoController.contentSizeForViewInPopover = CGSizeMake(480.0f, 480.0f);

    [webPhoto release];
    [filePathPhoto release];
    [inMemoryPhoto release];    
    [source release];

    UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:photoController];
    UIPopoverController *popover = [[UIPopoverController alloc] initWithContentViewController:navController];
    popover.delegate = self;
    [popover presentPopoverFromBarButtonItem:sender permittedArrowDirections:UIPopoverArrowDirectionUp animated:YES];
    popoverController = popover;

    [photoController release];
    [navController release];


}

Использование метода presentModalViewController

    MyPhoto *photo = [[MyPhoto alloc] initWithImageURL:[NSURL URLWithString:@"http://a3.twimg.com/profile_images/66601193/cactus.jpg"] name:@" laksd;lkas;dlkaslkd ;a"];
    MyPhoto *photo2 = [[MyPhoto alloc] initWithImageURL:[NSURL URLWithString:@"https://s3.amazonaws.com/twitter_production/profile_images/425948730/DF-Star-Logo.png"] name:@"lskdjf lksjdhfk jsdfh ksjdhf sjdhf ksjdhf ksdjfh ksdjh skdjfh skdfjh "];
    MyPhotoSource *source = [[MyPhotoSource alloc] initWithPhotos:[NSArray arrayWithObjects:photo, photo2, photo, photo2, photo, photo2, photo, photo2, nil]];

    EGOPhotoViewController *photoController = [[EGOPhotoViewController alloc] initWithPhotoSource:source];
    UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:photoController];

    navController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
    navController.modalPresentationStyle = UIModalPresentationFullScreen;
    [self presentModalViewController:navController animated:YES];

Чего я пытаюсь достичь

MyPhoto *webPhoto = [[MyPhoto alloc] initWithImageURL:[NSURL URLWithString:@"http://a3.twimg.com/profile_images/66601193/cactus.jpg"] name:@" laksd;lkas;dlkaslkd ;a"];
MyPhoto *filePathPhoto = [[MyPhoto alloc] initWithImageURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"local_image_2" ofType:@"jpg"]]];
MyPhoto *inMemoryPhoto = [[MyPhoto alloc] initWithImage:[UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"local_image_1" ofType:@"jpg"]]];

MyPhotoSource *source = [[MyPhotoSource alloc] initWithPhotos:[NSArray arrayWithObjects:webPhoto, filePathPhoto, inMemoryPhoto, nil]];

EGOPhotoViewController *photoController = [[EGOPhotoViewController alloc] initWithPhotoSource:source];

[webPhoto release];
[filePathPhoto release];
[inMemoryPhoto release];    
[source release];

UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:photoController];

[self.view addSubview:navController.view];

Кто-нибудь имеет какой-либо опыт с этой проблемой / знает, как исправить или сделать это правильно?

...