2010-09-24 2 views
1

У меня есть главный вид, который contatins uitableview, и я нажимаю другой вид, когда пользователь нажимает на строку. Я хочу, чтобы только детские представления вращались и для этого написали код. Но проблема в том, что когда я нажимаю вид, он также дает возможность ориентации на главный вид. Когда я поворачиваю основной вид влево, панель состояния также изменяется влево. Я не применял никаких указаний в основном представлении. Я сделал следующее в MainView, но код все еще не отображается.interfaceorientation только в определенных представлениях

-(void) viewDidLoad 
{ 
    [[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications]; 
    [[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(receivedRotate:) name: UIDeviceOrientationDidChangeNotification object: nil]; 
} 

-(void) receivedRotate: (NSNotification*) notification 
{ 
    UIDeviceOrientation interfaceOrientation = [[UIDevice currentDevice] orientation]; 

    if(interfaceOrientation != UIDeviceOrientationUnknown) 
    { 
     if (interfaceOrientation==UIInterfaceOrientationLandscapeLeft) 
     { 
      [self shouldAutorotateToInterfaceOrientation:interfaceOrientation]; 
     } 
    } 

} 

может кто-нибудь плз мне помочь ???? его любопытное срочно ... Как я могу отключить interfaceOrientation в главном окне программы

ответ

1

в главном контроллере представления, переопределить этот делегат:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation; // Override to allow rotation. Default returns YES only for UIDeviceOrientationPortrait 
{ 
    if((toInterfaceOrientation == UIInterfaceOrientationLandscapeRight)) 
     return YES; 
    return NO; 
} 

Теперь ваш основной контроллер будет всегда в ландшафтном режиме. И удалите весь свой код, который вы упомянули выше. , вы не должны вызывать метод «shouldAutorotateToInterfaceOrientation:».

+0

функция shouldAutorotate не получает автоматически, поэтому я добавил уведомление и вызвал функцию при получении уведомления о ротации. И я не хочу ротации во всех представлениях, только в определенных представлениях. но кажется, что мой основной взгляд, на который я не применил ротацию, зависит от его дочерних представлений. Когда я поворачиваю основной вид, все остается в портрете, кроме строки состояния. Так что любая помощь на этом ???? – Jayshree

Смежные вопросы