0

J'ai été à la recherche sur un sélecteur d'images multiples, et je trébuche à AGImagePickerController, mais ensuite, Im codant dans iPad, comment puis-je présenter le sélecteur dans un popoverController à partir d'un alertView? C'est possible? ou devrais-je passer à la présentation par UIButton normale? S'il vous plaît aider.Présentation d'un Imagepicker dans PopOver

AGImagePickerController *imagePickerController = [[AGImagePickerController alloc] initWithFailureBlock:^(NSError *error) { 
     NSLog(@"Fail. Error: %@", error); 

    if (error == nil) { 
     NSLog(@"User has cancelled."); 
     [self dismissModalViewControllerAnimated:YES]; 
    } else { 

     // We need to wait for the view controller to appear first. 
     double delayInSeconds = 0.015; 
     dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC); 
     dispatch_after(popTime, dispatch_get_main_queue(), ^(void){ 
      [self dismissModalViewControllerAnimated:YES]; 
     }); 
    } 

    [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault animated:YES]; 

} andSuccessBlock:^(NSArray *info) { 

    NSLog(@"Info: %@", info); 
    [self.selectedPhotos setArray:info]; 

    } 

    [self dismissModalViewControllerAnimated:YES]; 

    [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault animated:YES]; 
}]; 

// Show saved photos on top 
imagePickerController.shouldShowSavedPhotosOnTop = YES; 
imagePickerController.selection = self.selectedPhotos; 

// Custom toolbar items 
AGIPCToolbarItem *selectAll = [[AGIPCToolbarItem alloc] initWithBarButtonItem:[[UIBarButtonItem alloc] initWithTitle:@"+ Select All" style:UIBarButtonItemStyleBordered target:nil action:nil] andSelectionBlock:^BOOL(NSUInteger index, ALAsset *asset) { 
    return YES; 
}]; 
AGIPCToolbarItem *flexible = [[AGIPCToolbarItem alloc] initWithBarButtonItem:[[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil] andSelectionBlock:nil]; 
AGIPCToolbarItem *selectOdd = [[AGIPCToolbarItem alloc] initWithBarButtonItem:[[UIBarButtonItem alloc] initWithTitle:@"+ Select Odd" style:UIBarButtonItemStyleBordered target:nil action:nil] andSelectionBlock:^BOOL(NSUInteger index, ALAsset *asset) { 
    return !(index % 2); 
}]; 
AGIPCToolbarItem *deselectAll = [[AGIPCToolbarItem alloc] initWithBarButtonItem:[[UIBarButtonItem alloc] initWithTitle:@"- Deselect All" style:UIBarButtonItemStyleBordered target:nil action:nil] andSelectionBlock:^BOOL(NSUInteger index, ALAsset *asset) { 
    return NO; 
}]; 
imagePickerController.toolbarItemsForSelection = [NSArray arrayWithObjects:selectAll, flexible, selectOdd, flexible, deselectAll, nil]; 
// imagePickerController.toolbarItemsForSelection = [NSArray array]; 


imagePickerController.maximumNumberOfPhotos = 100; 

[self presentModalViewController:imagePickerController animated:YES]; 

}

+1

Popovers ne doivent généralement pas être présentés d'une vue d'alerte. Ils devraient être présentés à partir d'un bouton/contrôle que leur flèche pointera alors. – Accatyyc

+0

Oh voilà pourquoi, alors comment puis-je présenter ce sélecteur dans popOver? – Bazinga

Répondre

1

vous devez utiliser ce via Round Rect Button:

self.popoverController = 
[[UIPopoverController alloc] initWithContentViewController:imagePickerController]; 

popoverController.delegate = self; 

CGRect popoverRect = [self.view convertRect:[YOURBUTTON frame] 
            fromView:[YOURBUTTON superview]];  
popoverRect.size.width = MIN(popoverRect.size.width, 100); 

[self.popoverController 
presentPopoverFromRect:popoverRect 
inView:self.view 
permittedArrowDirections:UIPopoverArrowDirectionAny 
animated:YES]; 

[popoverController setPopoverContentSize:CGSizeMake(1024, 500)]; 
+0

Avoir testé. Ça fonctionne bien. Je vous remercie. – Bazinga

Questions connexes