在iOS 4.1上从iPhone摄像头成功获取图片后,您可以使用密钥
@"UIImagePickerControllerMediaMetadata"
返回图片的信息。字典中的一个键是
@"Orientation"
根据我的实验,Portrait和Upside down分别为6和8,而Landscape分别为1和3。
- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info {
NSDictionary *metaData = [info objectForKey:@"UIImagePickerControllerMediaMetadata"];
id orientation = [metaData objectForKey:@"Orientation"];
NSLog(@"Class: %@",[orientation class]);
NSLog显示“类:NSCF编号”
我需要比较此对象的值以确定如何继续。横向是1或3,纵向是6或8。我不确定键入orientation作为什么或调用它。NSNumber和NSNinteger总是告诉我从指针生成整数而不进行类型转换。
谢谢你的时间!
3条答案
按热度按时间jxct1oxe1#
这就是说orientation是
NSNumber
的一个示例,从技术上讲,NSCFNumber
是NSNumber
的一个私有子类,但这是一个实现细节,你不必担心。1qczuiv02#
NSNumber
是一个类簇。NSCFNumber
是该簇中类的具体“私有”实现。只需像使用NSNumber
对象一样使用返回值。unftdfkk3#
现在(2022年),该方法已经更改了名称,您需要将其强制转换为NSNumber才能使用,如下所示:
如果您想在OutputConsole上打印它,则需要使用%d而不是%@,例如: