カメラロールからFacebookへの画像の投稿Xcode 4.5
質問
いくつかの機能を設定しました。しかし、私はここからどこへ行くのかを失いました。実際に画像を使用する方法を知っていると、私はおそらくFacebookで何をすべきかを理解することができます。イメージをNSDictionaryに保存してから、別のビューコントローラにリダイレクトしてみましたが、ImagePickerControllerメソッド内からリダイレクトされません。だから誰かがカメラロールから選択された画像の使い方を考えていますか?
私の次の考えはNSDictionaryに保存し、次にNSDictionary値が変更されたかどうかを確認するためのステートメントチェックがありますが、それが全くそれをする効率的な方法ではありません。
下記の答えを含みますが、何も起こらず、画像が表示されない、または何もしません。私は何が足りないのですか?
- (void) useCameraRoll
{
if ([UIImagePickerController isSourceTypeAvailable:
UIImagePickerControllerSourceTypeSavedPhotosAlbum])
{
UIImagePickerController *imagePicker =
[[UIImagePickerController alloc] init];
imagePicker.delegate = self;
imagePicker.sourceType =
UIImagePickerControllerSourceTypePhotoLibrary;
imagePicker.mediaTypes = [NSArray arrayWithObjects:
(NSString *) kUTTypeImage,
nil];
imagePicker.allowsEditing = NO;
[self presentModalViewController:imagePicker animated:YES];
[imagePicker release];
newMedia = NO;
}
}
-(void)imagePickerController:(UIImagePickerController *)picker
didFinishPickingMediaWithInfo:(NSDictionary *)info
{
NSString *mediaType = [info
objectForKey:UIImagePickerControllerMediaType];
[self dismissModalViewControllerAnimated:YES];
if ([mediaType isEqualToString:(NSString *)kUTTypeImage]) {
UIImage *image = [info
objectForKey:UIImagePickerControllerOriginalImage];
NSLog(@"image:%@",image);
displayPhoto.image = image;
[displayPhoto setFrame:CGRectMake(0, 0, 320, 480)];
[[self view] addSubview:displayPhoto];
}
else if ([mediaType isEqualToString:(NSString *)kUTTypeMovie])
{
// Code here to support video if enabled
}
}
. 解決
作成したボタンを使用してView Controllerからこれを呼び出したと仮定すると、View ControllerにUiimageViewを追加するだけではありません。それをMyPhotoImageViewまたはそのようなものに電話してからDidFinishPickingMediaWithInfoメソッドで、の後に次のコード行を追加するだけです。
UIImage *image = [info objectForKey:UIImagePickerControllerOriginalImage];
.
myPhotoImageView.image = image;
.
態様が素晴らしく見えるように画像ビューを大きくするためにこれを行います。
CGSize size = image.size;
CGRect photoFrame;
if (size.width > size.height)
{
// Landscape
CGFloat scaleFactor = 320 / size.width;
photoFrame = CGRectMake(0, 0, 320, size.height*scaleFactor);
}
else
{
// Portrait
CGFloat scaleFactor = 320 / size.height;
photoFrame = CGRectMake(0, 0, size.width*scaleFactor, 320);
}
myPhotoImageView.frame = photoFrame;
. 所属していません StackOverflow