在iOS 4.1上成功从iPhone相机获取图片后,您可以使用密钥
@"UIImagePickerControllerMediaMetadata"
返回有关图片的信息。该词典中的一个关键是
@"Orientation"
从我的实验来看,肖像和颠倒分别是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说“Class:NSCFNumber”
我需要比较这个对象的值来确定如何继续。横向是1或3,纵向是6或8.我不确定要键入方向或调用什么。 NSNumber和NSInteger总是告诉我,我正在使用没有强制转换的指针制作整数。
谢谢你的时间!
答案 0 :(得分:35)
这告诉您方向是NSNumber
的实例。从技术上讲,NSCFNumber
是NSNumber
的私有子类,但这是一个您不必担心的实现细节。要获得整数值,您可以调用
[orientation integerValue]
答案 1 :(得分:6)
NSNumber
是一个类集群。 NSCFNumber
是该集群中类的具体“私有”实现。只需使用返回的值,就像使用NSNumber
对象一样。