Программируемое добавление подпредставлений на iPad - PullRequest
1 голос
/ 04 июня 2010

Я добавляю пользовательскую строку состояния в свое приложение, чтобы следить за ходом загрузки. Это прекрасно работает в портретном режиме, но когда я нахожусь в альбомной ориентации, и появляется моя пользовательская строка состояния, она всегда появляется на противоположной стороне кнопки «Домой». Я думаю, это потому, что я жестко кодирую свой фрейм.

У меня есть файл 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 по умолчанию Спасибо

1 Ответ

1 голос
/ 04 июня 2010

Во-первых, откуда вы вызываете свой -animateStatusBarIn метод?

Вам не нужно устанавливать рамку для вида iPadUploadStatusBar, когда происходит вращение (в случае, если вы вызываете метод animateStatusBar каждый раз, когда меняется ориентация).

Все, что вам нужно сделать, это правильно установить маски автоматического изменения размера для представления iPadUploadStatusBar и добавить его в качестве подпредставления в окно или в представление viewController, которое уже является подпредставлением окна. Вращение и его анимация обрабатываются автоматически для вас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...