Я отображая вид Детский контроллер на моем родительском контроллере представления, используякак повернуть контроллер представления родителя при ориентации зрения ребенка контроллер изменяет в прошивкой
childView1 *viewController = [[childView1 alloc]initWithNibName:examTFVC_NIB bundle:nil row:gesture.view.tag productID:test_productID size:testsize Duration:duration];
self.modalPresentationStyle = UIModalPresentationCurrentContext;
self.view.alpha = 0.4f;
viewController.view.backgroundColor = [UIColor clearColor];
viewController.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
[self presentViewController:viewController animated:YES completion:NULL];
Я отображая прозрачный контроллер представления над моим контроллером родительского вида и ландшафта только. , но проблема заключается в том, что я меняю устройство с ландшафта слева направо или справа налево, чем изменения ориентации контроллера моего дочернего представления, но контроллер родительского представления остается той же ориентацией.
Моя ориентация контроллера родительского представления меняется, когда я не показываю контроллер дочернего представления, как я могу изменить ориентацию контроллера родительского представления вместе с дочерним?
Одна вещь, которую я попытался изменить ориентацию, программируя передачу Центра уведомлений с дочернего на родительский, чтобы изменить ориентацию.
В детском контроллере представления
- (NSUInteger)supportedInterfaceOrientations
{
NSUInteger supportedOrientations = UIInterfaceOrientationMaskLandscape;
[[NSNotificationCenter defaultCenter] postNotificationName:@"RotateParent"object:nil];
return supportedOrientations;
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft || interfaceOrientation == UIInterfaceOrientationLandscapeRight);
}
- (BOOL)shouldAutorotate
{
return YES;
}
В родительском контроллере
-(void)rotateParent:(NSNotification *)notification
{
CGAffineTransform transform = CGAffineTransformMakeRotation(-M_PI);
self.view.transform = transform;
NSLog(@"Parent rotate ");
}
вид, но когда я нажимаю, чтобы увидеть своего ребенка над родительским зрения, чем мой метод «rotateParent» получить выполняется один раз по умолчанию. любое другое решение?
Значит, вы не можете передать уведомление при последующих поворотах? –
вы можете попробовать отправить уведомление от shouldAutorotateToInterfaceOrientation – prasad
@prasad это не сработает ... потому что он поддерживается только до ios 5 ..и я тестирую на ios 6 –