我在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) 今天使用Spotify Radio并注意到他们已在控制中心上替换了"<<"的菜单按钮.当你按下它时,你会看到右边的菜单.我之前通过MPNowPlayingInfoCenter类与Control Center合作过,但在文档中没有提到这种功能.谁知道他们是怎么做到的?
这是在iOS7上运行所以(理论上)它不是扩展.

我正在尝试将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.
我错过了什么吗?我无法想象在同一个视图控制器中存在对可访问性元素的限制.