shouldAutorotateToInterfaceOrientation от делегата - PullRequest
0 голосов
/ 04 ноября 2011

в моем приложении у меня есть фоновые функции, которые кэшируют данные - работает нормально.Я реализовал UIView * cacheProgressView;который является наглядным показателем прогресса механизма кэширования.(он содержит UIProgressBar и т. д.)

Поскольку я хочу показать это во всех представлениях моего приложения (UINavigation со многими представлениями), я добавил это в свой делегат, который довольно хорошо о нем заботится

[self.window addSubview:cacheProgressView];

Проблема в : когда я поворачиваю устройство и поскольку cacheProgressView привязан к окну, а не к представлению, я не могу установить его в правильное положение - следующая функция внутри делегата никогда не вызывается:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{

    NSLog(@"Rotation detected from the delegate");

    return YES;
}

как мне решить эту проблему?

1 Ответ

2 голосов
/ 04 ноября 2011

Вы можете зарегистрироваться для уведомлений о ротации ...

[[NSNotificationCenter defaultCenter] addObserver:self
           selector:@selector(didRotate:)
           name:@"UIDeviceOrientationDidChangeNotification" object:nil];


- (void) didRotate:(NSNotification *)notification{  
  UIDeviceOrientation orientation = [[UIDevice currentDevice] orientation];
  // do stuff
} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...