я есть проблема со следующим кодом:didUpdateHeading не вызывается, когда вид используется как cameraoverlay
Я реализовал простую ViewController имени LayoutViewController, который показывает картину, которая автоматически перемещается в соответствии с магнитной заголовок. код состоит в:
lm = [[CLLocationManager alloc] init];
lm.delegate = self;
lm.desiredAccuracy = kCLLocationAccuracyBest;
lm.distanceFilter = kCLDistanceFilterNone;
[lm startUpdatingLocation];
lm.headingFilter = kCLHeadingFilterNone;
[lm startUpdatingHeading];
ввиду сделал нагрузки, то я реализована didUpdateHeading, где выполняются анимация. Все работает FINE. В другом виде контроллер i поместил кнопку и в IBAction i put:
LayoutViewController *controller = [self.storyboard instantiateViewControllerWithIdentifier:@"LayoutViewController"];
и все работало.
Проблема в том, что если я пытаюсь использовать LayoutViewController в качестве наложения наложения камеры, анимация не работает.
я внедрено:
UIImagePickerController *picker = [[UIImagePickerController alloc] init];
picker.delegate = self;
picker.allowsEditing = YES;
picker.sourceType = UIImagePickerControllerSourceTypeCamera;
picker.showsCameraControls = YES;
picker.modalPresentationStyle = UIModalPresentationFullScreen;
LayoutViewController* overlayView = [self.storyboard instantiateViewControllerWithIdentifier:@"LayoutViewController"];
picker.cameraOverlayView=overlayView.view;
([picker setCameraOverlayView:overlayView.view]
вместо picker.cameraOverlayView=overlayView.view
дает один и тот же вопрос)
При выполнении этого, он открывает камеру и я могу увидеть картину я имею в LayoutViewController, так LayoutViewController экземпляр успешно загружен, но анимация не выполняется, потому что она не вызывается.
Пожалуйста, помогите!
Ну, я не сохранил его, я просто пишу: LayoutViewController * overlayView = [self.storyboard instantiateViewControllerWithIdentifier: @ "LayoutViewController"]; picker.cameraOverlayView = overlayView.view; Не могли бы вы рассказать мне, как сохранить его должным образом? Спасибо! – Andrea
Вы можете, например, создать сильное свойство, чтобы сохранить его: @property (сильный, неатомный) LayoutViewController * myRetainedController – Jakub