22

iOS 4.1のiPhoneカメラから画像を正常に取得した後、キーを使用できます

@"UIImagePickerControllerMediaMetadata"

写真に関する情報を返します。その辞書の鍵の1つは

@"Orientation"

私の実験から、PortraitとUpside upはそれぞれ6と8であり、風景は1と3です。このコードを見てください。

- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
    NSDictionary *metaData = [info objectForKey:@"UIImagePickerControllerMediaMetadata"];
    id orientation = [metaData objectForKey:@"Orientation"];
    NSLog(@"Class: %@",[orientation class]);

NSLogには「クラス:NSCFNumber」と記載されています

このオブジェクトの値を比較して、続行する方法を決定する必要があります。横向きは1または3、縦向きは6または8です。向きを何と入力するか、何を呼び出すかがわかりません。NSNumberとNSIntegerは、キャストなしでポインターから整数を作成していることを常に教えてくれます。

御時間ありがとうございます!

4

2 に答える 2

36

これは、オリエンテーションがのインスタンスであることを示していますNSNumber。技術的にNSCFNumberは、はのプライベートサブクラスですがNSNumber、これは実装の詳細であり、心配する必要はありません。呼び出す整数値を取得するには

[orientation integerValue]
于 2010-12-05T02:47:58.567 に答える
6

NSNumberクラスクラスターです。NSCFNumberは、そのクラスター内のクラスの具体的な「プライベート」実装です。NSNumberオブジェクトのように戻り値を使用するだけです。

于 2010-12-05T02:48:55.633 に答える