难道只是我还是从的UIImagePickerController _UIImagePickerControllerUserDidCaptureItem通知停止在iOS 8和6的XCode工作,我用它的用户抽放的图片后,旋转的摄像头覆盖。 请帮忙
Answer 1:
这是非常奇怪的,但在iOS 8的设置观测用
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(imagePickerControllerDidCapture) name:@"_UIImagePickerControllerUserDidCaptureItem" object:nil];
不适合工作的UIImagePickerController,但使用块工作正常:
self.imagePickerControllerDidCaptureObserver = [[NSNotificationCenter defaultCenter] addObserverForName:@"_UIImagePickerControllerUserDidCaptureItem" object:nil queue:nil usingBlock:^(NSNotification *note) {
[self removeCameraOverlay];
}];
请注意,在这种方法中,你应该存储观测对象后脱离它使用
[[NSNotificationCenter defaultCenter] removeObserver:imagePickerControllerDidCaptureObserver];
在这样说,这是非常有用的使用情况
[[NSNotificationCenter defaultCenter] addObserverForName:nil object:nil queue:nil usingBlock:^(NSNotification *note) {
NSLog(@"Notification: %@", note.name);
}];
监控所有通知,请参阅名称和它的瞬间触发。
Answer 2:
我也看到,通过提到的与iOS 8同样的问题,但使用块的工作Amoneron在他的答案 。
以下是如何做到这一点的斯威夫特:
NSNotificationCenter.defaultCenter().addObserverForName("_UIImagePickerControllerUserDidCaptureItem", object:nil, queue:nil, usingBlock: { note in
// do something here
})
Answer 3:
它仍然对我的作品,但我使用的通知中心。
NSNotificationCenter.DefaultCenter.AddObserver (new NSString ("_UIImagePickerControllerUserDidCaptureItem"), HandleUserCapturedItem);
该代码是在C#作为我使用xamarin开发,因为我基本上使用的包装类(由xamarin建)应该在Objective-C类似的东西。
文章来源: _UIImagePickerControllerUserDidCaptureItem not called xcode 6