Я добавляю пользовательскую строку состояния в свое приложение, чтобы следить за ходом загрузки. Это прекрасно работает в портретном режиме, но когда я нахожусь в альбомной ориентации, и появляется моя пользовательская строка состояния, она всегда появляется на противоположной стороне кнопки «Домой». Я думаю, это потому, что я жестко кодирую свой фрейм.
У меня есть файл XIB, настроенный на автоматическую настройку его длины.
посмотрите:
-(void) animateStatusBarIn {
float x = window.frame.origin.x;
float y = window.frame.origin.y;
float height = 20;
float width = window.frame.size.width;
CGRect statusFrame = CGRectMake(x, y-20, width, height);
iPadUploadStatusBar *statusView = [[iPadUploadStatusBar alloc] initWithNibName:@"iPadUploadStatusBar" bundle:nil];
self.status = statusView;
[statusView release];
status.view.frame = statusFrame;
[window addSubview:status.view];
[UIView beginAnimations:@"slideDown" context:nil];
[UIView setAnimationDuration:0.3];
[UIView setAnimationDelegate:self];
[UIView setAnimationDidStopSelector:@selector(animationFinished:)];
statusWindow.frame = CGRectMake(0.0f, 0.0f, 1024.0f, 20.0f);
[UIView commitAnimations];
}
Все хорошо в портретной ориентации, но, как я уже сказал, он всегда решает, что новая строка состояния должна идти напротив кнопки «Домой». Пожалуйста, помогите !!!
Кстати, это внутри AppDelegate.m, поэтому я использую существующее окно в файле appDelegate по умолчанию
Спасибо