2016-08-04 2 views
0

Так что я показываю контроллер модели сверху контроллера. И у меня есть тексты в контроллере модели, но как-то тексты не видны. Я пробовал все, но как-то ярлыки не видны. Но вы остаетесь на странице за 30-40 секунд, когда текст появляется. Также этот контроллер модели вызывается из главного контроллера представления после успешного вызова службы (REST). Если я вызову модель без вызова службы, тогда ярлыки будут видны в симуляторе/iPad. Но если я вызову его после вызова службы внутри блока успеха, метки не будут видны. Я попытался добавить текст программно, но все тот же вопрос. Я попробовал отладку с использованием смешанных слоев Color, но ярлык вообще не виден в представлении. :(UILabel не отображается ни в симуляторе, ни в iPad.

[self.serviceManager getCustDetails:account successBlock:^(NSDictionary * successDict) { 
    [self hideLoadingAnimation]; 
    NSDictionary *custData = [[successDict objectForKey:@"txnData"] objectForKey:@"custData"]; 

    self.showCurrYear = [iraContribData objectForKey:@"showCurrYear"]; 

    if ([self.showCurrYear isEqual: @"true"]){ 
    [self performSegueWithIdentifier:@"CSegue" sender:self]; 
    } 

    } failureBlock:^(NSDictionary * failureDict) { 
     [self hideLoadingAnimation]; 
     NSLog(@"Failiure Dict %@",failureDict); 
    }]; 

И этот метод prepareForSegue, -

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 
    { 
     if([segue.identifier isEqualToString:@"CSegue"]) { 
      CustViewController *cVC = segue.destinationViewController; 
      cVC.delegate = self; 
      [cVC setModalPresentationStyle:UIModalPresentationFormSheet]; 
      cVC.preferredContentSize = CGSizeMake(800,750); 
     } 
    } 

Ниже мой экран в раскадровке, но в симуляторе метка не видна, только продолжать и кнопка закрытия видна

. enter image description here

Пожалуйста, помогите !, любые предложения приветствуются. Спасибо!

+0

Если установить точку останова в вашем блоке успеха, как это быть немедленно ударил? Или только после этих 30-40 секунд? –

+0

Удар сразу же, и модель появляется, но метки не видны. –

ответ

1

Возможно, что задержка связана с обновлением пользовательского интерфейса, которое не было сделано на основном потоке.

Try, чтобы убедиться, что ваш код выполняется в главном потоке, используя dispatch_async так:

[self.serviceManager getCustDetails:account successBlock:^(NSDictionary * successDict) { 
    dispatch_async(dispatch_get_main_queue(), ^{ 
     [self hideLoadingAnimation]; 
     NSDictionary *custData = [[successDict objectForKey:@"txnData"] objectForKey:@"custData"]; 

     self.showCurrYear = [iraContribData objectForKey:@"showCurrYear"]; 

     if ([self.showCurrYear isEqualToString:@"true"]){ 
      [self performSegueWithIdentifier:@"CSegue" sender:self]; 
     } 
    }); 
} failureBlock:^(NSDictionary * failureDict) { 
    dispatch_async(dispatch_get_main_queue(), ^{ 
     [self hideLoadingAnimation]; 
     NSLog(@"Failiure Dict %@",failureDict); 
    }); 
}]; 
+0

Thats it, You're awesome !!!! ,БОЛЬШОЕ СПАСИБО. Я потратил весь свой день на это. Большое спасибо. –