Настоящий модальный вид до полного прекращения действия - PullRequest
0 голосов
/ 23 февраля 2009

Есть ли способ представить вид контроллера модального представления до полного закрытия листа действий? Я пытаюсь сделать это здесь, но кажется, что обратный вызов должен завершиться, прежде чем появится модальное представление:

- (void)actionSheet:(UIActionSheet *)actionSheet didDismissWithButtonIndex:(NSInteger)buttonIndex
{   
    if (0 == buttonIndex) {     // clicked 'Are you sure?' button
        [self splashScreen:YES];
...

И тогда я по существу делаю:

[[AppDelegate tabBarController] presentModalViewController: self.TMX_splashViewController animated: YES];

Моя проблема в том, что я хотел бы ответить на вопрос "Вы уверены?" нажмите на листе действий и затем покажите индикатор прогресса в моем контроллере модального представления, пока я выполняю некоторую работу (выполняю пакетную загрузку). Но кажется, что лист действий в пути;)

РЕШЕНИЕ: Я поставил небольшую задержку перед тем, как представить контроллер модального вида. Не уверен, что я полностью понимаю это, но, похоже, было какое-то условие гонки, когда рабочий блок кода «опережал» модальный код представления. После небольшой задержки, кажется, работает. Хм, это странно!

[self splashScreen:YES];                
NSTimer *timer;
timer = [NSTimer scheduledTimerWithTimeInterval:0.75
        target: self selector:@selector(waitForSplashTimer:) userInfo: nil repeats: NO];

1 Ответ

2 голосов
/ 23 февраля 2009

Вы также можете использовать -performSelector: withObject: afterDelay: немного меньше кода, и его легче читать:

[self performSelector: @selector(waitForSplashTimer:) withObject: nil afterDelay: 0.75];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...