我刚开始从事iOS开发,所以请耐心等待。我正在为朋友构建一个应用程序,其中一个功能是能够在Instagram上发布用户在应用程序中拍摄的图片。我在同一控制器中有UIImageView
和UIView
(vImagePreview
,相机预览)。当用户拍照时,UIImageView
被带到前面,静止图像的图像显示在UIImageView
中。 UIImageView
(postInstagram)中有一个按钮,用于触发调出Instagram菜单的方法。当用户触发菜单中的任一事件(在Instagram中打开或取消)时,我希望能够将原始视图置于前面。现在我正在使用计时器它确实有效,但它很尴尬。这是我的代码:
- (IBAction)postInstagram:(id)sender {
//interactionControllerWithURL:instagramURL
NSString *savePath = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/photo.igo"];
//Write image to PNG
[UIImageJPEGRepresentation(self.image, 1.0) writeToFile:savePath atomically:YES];
NSURL *photoURL = [NSURL fileURLWithPath:savePath];
NSURL *instagramURL = [NSURL URLWithString:@"instagram://user?username=USERNAME"];
if ([[UIApplication sharedApplication] canOpenURL:instagramURL]) {
self.docController = [UIDocumentInteractionController interactionControllerWithURL:photoURL];
self.docController.UTI = @"com.instagram.exclusivegram";
self.docController.annotation = [NSDictionary dictionaryWithObject:@"Insert Caption here" forKey:@"InstagramCaption"];
[self.docController presentOpenInMenuFromRect:CGRectZero inView:self.view animated:YES];
timer = [NSTimer scheduledTimerWithTimeInterval: 10.0 target:self selector:@selector(targetMethod:) userInfo:nil repeats: NO];
}
}
-(void) targetMethod:(NSTimer *)timer {
[self.view bringSubviewToFront:self.vImagePreview];
}
答案 0 :(得分:0)
抱歉,我不完全理解你的需要。如果我没有错?
使用UIDocumentInteractionControllerDelegate将self.docController.delegate
设置为某个控制器。
然后实现方法并在其中调用targetMethod:
documentInteractionController:willBeginSendingToApplication:
如果不是您想要的,请根据您的需要尝试其他方法。 http://developer.apple.com/library/ios/#documentation/uikit/reference/UIDocumentInteractionControllerDelegate_protocol/Reference/Reference.html