Reputation: 1858
I have coding to attach file either from photo library or from camera which is optimum for iPhone. But for iPAD, i came to know that popUpViewController has to be used. Can anyone suggest code to attach pics in iPad?
And my code is
-(void)openCamera
{
@try
{
UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
picker.sourceType = UIImagePickerControllerSourceTypeCamera;
picker.navigationBar.tintColor = [UIColor blackColor];
[self.navigationController presentViewController:picker animated:YES completion:nil];
}
@catch (NSException *exception)
{
CustomAlertView *alert = [[CustomAlertView alloc] initWithTitle:@"No Camera"
message:@"Camera is not available "
delegate:self cancelButtonTitle:@"Ok"
otherButtonTitles:nil];
[alert show];
}
}
-(void)pick
{
UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
picker.sourceType = UIImagePickerControllerSourceTypePhotoLibrary;
picker.navigationBar.tintColor = [UIColor blackColor];
[self presentViewController:picker animated:YES completion:nil];
}
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info
{
if (picker.sourceType == UIImagePickerControllerSourceTypeCamera)
{
[picker dismissViewControllerAnimated:YES completion:nil];
UIImage *fullImage = (UIImage *) [info objectForKey:UIImagePickerControllerOriginalImage];
UIImage *thumbImage = [fullImage imageByScalingAndCroppingForSize:CGSizeMake(180,180)];
self.detailItem.fullImage = fullImage;
self.detailItem.thumbImage = thumbImage;
NSData *dataObj = UIImagePNGRepresentation(thumbImage);
base64String=[dataObj base64Encoding];
NSDate *currentDateTime = [NSDate date];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"MMddyyyy_HHmmss"];
NSString *dateInStringFormated = [dateFormatter stringFromDate:currentDateTime];
fileName = [NSString stringWithFormat:@"IMG_%@.png",dateInStringFormated];
[self Uploadfile];
}
else
{
[picker dismissViewControllerAnimated:YES completion:nil];
UIImage *fullImage = (UIImage *) [info objectForKey:UIImagePickerControllerOriginalImage];
UIImage *thumbImage = [fullImage imageByScalingAndCroppingForSize:CGSizeMake(180,180)];
self.detailItem.fullImage = fullImage;
self.detailItem.thumbImage = thumbImage;
NSData *dataObj = UIImagePNGRepresentation(thumbImage);
base64String=[dataObj base64Encoding];
NSURL *imageURL = [info valueForKey:UIImagePickerControllerReferenceURL];
ALAssetsLibraryAssetForURLResultBlock resultblock = ^(ALAsset *myasset)
{
ALAssetRepresentation *representation = [myasset defaultRepresentation];
fileName = [representation filename];
NSLog(@"fileName siva : %@",fileName);
[self Uploadfile];
};
ALAssetsLibrary* assetslibrary = [[ALAssetsLibrary alloc] init];
[assetslibrary assetForURL:imageURL
resultBlock:resultblock
failureBlock:nil];
}
}
Upvotes: 0
Views: 435
Reputation: 1118
Try this
UIImagePickerController *imagePickerController= [[UIImagePickerController alloc]init];
[imagePickerController setSourceType:UIImagePickerControllerSourceTypePhotoLibrary];
[imagePickerController setDelegate:self];
self.popoverPickerController = [[UIPopoverController alloc] initWithContentViewController:imagePickerController];
[self.popoverPickerController presentPopoverFromRect:CGRectMake(0,0,100,100) inView:[self teilnehmerCollectionView] permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
Upvotes: 2
Reputation: 429
User image picker inside popover.
UIPopoverController *popover = [[UIPopoverController alloc] initWithContentViewController:picker];
Upvotes: 0