我试图通过ACTION_SEND意图从Android图库接收图像.我已经设置了正确的意图过滤器,而Gallery会打开我的应用程序.现在我想知道如何获取图像数据.我在互联网上找不到如何做到这一点的任何例子.我认为路径是在intent.getData()中的某个地方,但我究竟如何从图库中提取该图像?
出于某种原因,我第一次UIImagePickerController在我的应用程序上打开相机模式时出现空白.我必须关闭并重新打开该视图才能让相机输入开始工作.我正在使用适用于iOS 6的标准代码来完美捕捉相机.从下面的示例我解雇了这个capturePhoto:方法.还有其他人在使用iOS 7相机时遇到这种尴尬吗?我检查了Apple开发论坛,但几乎不可能在那里找到答案.
- (IBAction)capturePhoto:(id)sender {
[self doImagePickerForType:UIImagePickerControllerSourceTypeCamera];
}
- (void)doImagePickerForType:(UIImagePickerControllerSourceType)type {
if (!_imagePicker) {
_imagePicker = [[UIImagePickerController alloc] init];
_imagePicker.mediaTypes = @[(NSString*)kUTTypeImage];
_imagePicker.delegate = self;
}
_imagePicker.sourceType = type;
[self presentViewController:_imagePicker animated:YES completion:nil];
}
Run Code Online (Sandbox Code Playgroud)

我找不到Apple的任何文档来解释为什么这段代码以不同的速度运行,具体取决于它运行的次数.
- (void)speedTest2:(CIImage*)source {
NSTimeInterval start = CFAbsoluteTimeGetCurrent();
CIFilter* filter = [CIFilter filterWithName:@"CIColorInvert"];
[filter setValue:source forKey:kCIInputImageKey];
CGImageRef cgImage = [_context createCGImage:filter.outputImage fromRect:source.extent];
UIImage* output = [UIImage imageWithCGImage:cgImage];
if (cgImage)
CFRelease(cgImage);
_source.image = output;
NSLog(@"time: %0.3fms", 1000.0f * (CFAbsoluteTimeGetCurrent() - start));
}
Run Code Online (Sandbox Code Playgroud)
每次运行都使用相同的源图像.
我知道Core Image连接过滤器链.这是以某种方式被缓存?我是否可以预先缓存此操作,以便用户在首次启动应用时不会遇到性能问题?
这个让我发疯:(
我想基于按钮触摸事件动态隐藏/显示活动中的控件:当用户按下"详细信息"按钮时,我想在同一活动中显示更多控件.
处理这个问题的最佳方法是什么?有办法TextView.Hide()吗?它能否为过渡做好准备?