Monika Patel
Monika Patel

Reputation: 2375

Unable to add multiple photo url in MWPhotoBrowser in iOS

Unable to add multiple url in for loop. how it is possible . if i can use single url without loop then its work . But not working in looping with multiple url . how can i solved this problem i tried below code :

- (NSUInteger)numberOfPhotosInPhotoBrowser:(MWPhotoBrowser *)photoBrowser {
        return _photos.count;
    }
    - (MWPhoto *)photoBrowser:(MWPhotoBrowser *)photoBrowser photoAtIndex:(NSUInteger)index {
        if (index < _photos.count)
            return [_photos objectAtIndex:index];
        return nil;
    }


    - (void)viewDidLoad
    {
        [super viewDidLoad];
        NSMutableArray *photos = [[NSMutableArray alloc] init];

        photos=[[NSMutableArray alloc]initWithObjects:@"http://gloucesterstage.com/_website/wp-content/uploads/2015/06/apples2.jpg",@"http://www.apple.com/ipad/home/images/social/og.jpg?201508031746",nil];
        MWPhoto *photo;

        for (int i=0;i<[photos count];i++) {
            photo = [MWPhoto photoWithURL:[NSURL URLWithString:photos[i]]];
            photo.caption = @"";
            [photos addObject:photo];
        }

        _photos = photos;
        MWPhotoBrowser *browser = [[MWPhotoBrowser alloc] initWithDelegate:self];
        UINavigationController *nc = [[UINavigationController alloc]     initWithRootViewController:browser];
        [browser showNextPhotoAnimated:YES];
        [browser showPreviousPhotoAnimated:YES];
        [self presentViewController:nc animated:YES completion:nil];

    }

Upvotes: 0

Views: 369

Answers (1)

Fahim Parkar
Fahim Parkar

Reputation: 31647

It seems that you are trying to show the local photo. For that you will need to use below.

[photos addObject:[MWPhoto photoWithURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"photo2l" ofType:@"jpg"]]]];

Reference


Edit 1

As per your new update, you are using online images. Use below code.

NSMutableArray *photos = [[NSMutableArray alloc] init];
MWPhoto *photo;

NSMutableArray *anotherArrayWhereYouHaveImages=[[NSMutableArray alloc] initWithObjects:@"http://gloucesterstage.com/_website/wp-content/uploads/2015/06/apples2.jpg",@"http://www.apple.com/ipad/home/images/social/og.jpg?201508031746",nil];

for (int i=0;i<[anotherArrayWhereYouHaveImages count];i++) {
    photo = [MWPhoto photoWithURL:[NSURL URLWithString:[anotherArrayWhereYouHaveImages objectAtIndex:i]]];
    photo.caption = [NSString stringWithFormat:@"Photo %d", i];
    [photos addObject:photo];
}

self.photos = photos;

// Create browser
MWPhotoBrowser *browser = [[MWPhotoBrowser alloc] initWithDelegate:self];

browser.displayActionButton = YES;
browser.displayNavArrows = YES;
browser.zoomPhotosToFill = NO;
browser.navigationController.navigationBarHidden = NO;
[browser setCurrentPhotoIndex:myPostForPhoto];

CATransition *transition = [CATransition animation];
transition.duration = 0.5;
transition.type = kCATransitionFade;

[self.navigationController.view.layer addAnimation:transition forKey:kCATransition];
[self.navigationController pushViewController:browser animated:NO];

Upvotes: 1

Related Questions