首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >_UIImagePickerControllerUserDidCaptureItem不叫Xcode6

_UIImagePickerControllerUserDidCaptureItem不叫Xcode6
EN

Stack Overflow用户
提问于 2014-10-16 05:13:13
回答 3查看 2K关注 0票数 1

是我还是_UIImagePickerControllerUserDidCaptureItem通知uiimagepickercontroller停止在iOS 8和XCode 6上工作。在用户拍照后,我用它来旋转相机覆盖。PLease帮助

EN

回答 3

Stack Overflow用户

发布于 2014-12-19 22:10:06

这很奇怪,但在iOS 8中设置观察者使用

代码语言:javascript
复制
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(imagePickerControllerDidCapture) name:@"_UIImagePickerControllerUserDidCaptureItem" object:nil];

不适用于UIImagePickerController,但使用块可以很好地工作:

代码语言:javascript
复制
self.imagePickerControllerDidCaptureObserver = [[NSNotificationCenter defaultCenter] addObserverForName:@"_UIImagePickerControllerUserDidCaptureItem" object:nil queue:nil usingBlock:^(NSNotification *note) {
    [self removeCameraOverlay];
}];

请注意,在这种方法中,您应该存储观察者对象,以便稍后使用

代码语言:javascript
复制
[[NSNotificationCenter defaultCenter] removeObserver:imagePickerControllerDidCaptureObserver];

在这样的情况下,使用它非常有用

代码语言:javascript
复制
[[NSNotificationCenter defaultCenter] addObserverForName:nil object:nil queue:nil usingBlock:^(NSNotification *note) {
    NSLog(@"Notification: %@", note.name);
}];

要监控所有通知,请查看它触发的名称和时刻。

票数 1
EN

Stack Overflow用户

发布于 2015-04-22 23:25:33

我在iOS 8上也看到了同样的问题,但使用Amoneron在他的answer中提到的块工作。

以下是如何在Swift中执行此操作:

代码语言:javascript
复制
NSNotificationCenter.defaultCenter().addObserverForName("_UIImagePickerControllerUserDidCaptureItem", object:nil, queue:nil, usingBlock: { note in
  // do something here
})
票数 1
EN

Stack Overflow用户

发布于 2014-11-19 05:32:00

它仍然适用于我,尽管我正在使用通知中心。

代码语言:javascript
复制
NSNotificationCenter.DefaultCenter.AddObserver (new NSString ("_UIImagePickerControllerUserDidCaptureItem"), HandleUserCapturedItem);

代码在c#中,因为我使用xamarin进行开发,所以在objective-c中应该有类似的东西,因为我基本上使用的是包装器类(由xamarin构建)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26392220

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档