2013-12-05 3 views
0

Я пытаюсь загрузить мой просмотр, а затем перейти к нему, используя пользовательский сегмент. Проблема в том, что она немного отстает, и я не могу найти источник, отличный от представленного представления, загружается во время segue.Загрузить вид, а затем представить вид

- (IBAction)continueButtonClicked:(id)sender{ 
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" bundle:nil]; 
IntroViewController *imageLoader = (IntroViewController*)[storyboard instantiateViewControllerWithIdentifier:@"imageLoader"]; 
dispatch_sync(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), ^{ 

    // present 
    [self customSegue:imageLoader]; 

    // dismiss 
    [self dismissViewControllerAnimated:YES completion:nil]; 


    }); 

} 

Я дошел до того, что включил грандиозную центральную отправку, но я не вижу разницы. У меня тоже мало опыта с GCD. У меня есть тот же самый переход к другому виду, и он загружается без запаздывания просто отлично.

ответ

0

Вы можете представить только пользовательский интерфейс в основной теме, и вы пытаетесь сделать фоновый поток. Попробуйте это:

- (IBAction)continueButtonClicked:(id)sender 
{ 
    dispatch_async(dispatch_get_main_queue(), ^{ 
     UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" bundle:nil]; 
     IntroViewController *imageLoader = (IntroViewController*)[storyboard instantiateViewControllerWithIdentifier:@"imageLoader"]; 

     // present 
     [self customSegue:imageLoader]; 
    }); 
} 

я удалил [self dismissViewControllerAnimated:YES completion:nil]; линии, потому что отклоняя контроллер представления ПРЕДСТАВЛЕНИЯ приведет представленный контроллер представления не в состоянии раскрутить SEGUE.

+0

Все еще делает то же самое. Нужно ли мне реализовать какой-либо метод, например ViewWillAppear или что-нибудь еще в следующем контроллере представления? –

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