小编Dan*_*ney的帖子

照片框架requestImageDataForAsset偶尔会失败

我在iOS8.1上使用照片框架并使用requestImageDataForAsset请求资产的图像数据...大多数时候它工作,我得到图像数据和包含你在下面看到的内容的字典.但有时调用完成,但数据为零,字典包含三个通用的查找条目.

调用按顺序执行并在同一线程上执行.它不是特定于任何特定图像.错误将发生在我过去成功打开的图像上.有没有遇到过这个?

+ (NSData *)retrieveAssetDataPhotosFramework:(NSURL *)urlMedia resolution:(CGFloat)resolution imageOrientation:(ALAssetOrientation*)imageOrientation {

    __block NSData *iData = nil;

    PHFetchResult *result = [PHAsset fetchAssetsWithALAssetURLs:@[urlMedia] options:nil];
    PHAsset *asset = [result firstObject];

    PHImageManager *imageManager = [PHImageManager defaultManager];
    PHImageRequestOptions *options = [[PHImageRequestOptions alloc]init];
    options.synchronous = YES;
    options.version = PHImageRequestOptionsVersionCurrent;

    @autoreleasepool {
        [imageManager requestImageDataForAsset:asset options:options resultHandler:^(NSData *imageData, NSString *dataUTI, UIImageOrientation orientation, NSDictionary *info) {
            iData = [imageData copy];
            NSLog(@"requestImageDataForAsset returned info(%@)", info);
            *imageOrientation = (ALAssetOrientation)orientation;
        }];
    }

    assert(iData.length != 0);
    return iData;
}
Run Code Online (Sandbox Code Playgroud)

这是我获得图像数据和元数据字典的理想结果:

requestImageDataForAsset returned info({
    PHImageFileDataKey = …
Run Code Online (Sandbox Code Playgroud)

objective-c ios photosframework

20
推荐指数
2
解决办法
1万
查看次数

如何向iOS控制中心添加功能

今天使用Spotify Radio并注意到他们已在控制中心上替换了"<<"的菜单按钮.当你按下它时,你会看到右边的菜单.我之前通过MPNowPlayingInfoCenter类与Control Center合作过,但在文档中没有提到这种功能.谁知道他们是怎么做到的?

这是在iOS7上运行所以(理论上)它不是扩展.

带Spotify的iOS控制中心

controls center spotify ios ios7

6
推荐指数
1
解决办法
2073
查看次数

使用嵌入式视图控制器设置view.accessibilityElements

我正在尝试将iOS辅助功能支持/ Voice Over添加到我的应用程序中.我的主屏幕有三个主要控件,但第三个控件托管在嵌入式视图控制器中.

我在prepareForSegue中设置了辅助功能元素,并确认嵌入的视图控制器控件都已加载.问题是我仍然只能选择封闭视图控制器中的前两个控件.

self.view.accessibilityElements = 
    @[ 
        self.cmdMenu,                      // works
        self.collectionView,               // works
        self.childViewController.peerMenu  // doesn't work
    ];
Run Code Online (Sandbox Code Playgroud)

所有三个视图都有isAccessibilityElement = YES.

我错过了什么吗?我无法想象在同一个视图控制器中存在对可访问性元素的限制.

objective-c ios uiaccessibility

5
推荐指数
1
解决办法
2277
查看次数