2012-01-11 2 views
1

У меня есть этот стек вид:переход от UITableViewController не работает, как толчок, только как модальный

UIViewController --> (Modal segue) --> 
UITabBarController --> (relationship) --> 
UINavigationController --> (relationship) --> 
UITableViewController --> (segue) --> UIViewController 

Вот мой код переход в UITableViewController:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    NSLog(@"selected row..."); 
    [self performSegueWithIdentifier:@"showVmail" sender:self]; 
    NSLog(@"done segue"); 
} 

- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 
{ 
    if ([[segue identifier] isEqualToString:@"showVmail"]) { 
     NSLog(@"Got segue request..."); 
     NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow]; 

     [segue.destinationViewController setMyVmail: [self.vmails objectAtIndex:indexPath.row]]; 

    } 
} 

Когда я нажимаю на элемент в контроллере табличного представления, я вижу эти сообщения журнала:

selected row... 
Got segue request... 
Setting myVmail... // from the new view controller 
done segue 

И он не перемещается на мой новый вид cont ролик. Если я перейду на Modal, отмените его, но, конечно, кнопки «Назад» нет. Насколько я вижу, я все сделал правильно. Ive прочитал много ответов на переполнение стека, с той же проблемой, и их разрешение заключается в том, чтобы включить UINavigationController. Я уже это сделал.

Любые мысли были бы очень оценены!

ответ

0

Я попробовал предложение, увиденное где-нибудь, где вы должны вернуться к простым случаям. Я изменил UINavigationController в раскадровке, чтобы указать на базовый UIViewController, а затем для этого, чтобы кнопка, которая перешла на другой UIViewController. Когда я запустил его, я получил UITableViewController!

Именно тогда я вспомнил, что я программно заполнял объекты в UITabBarController и что я не вызывал UINavigationController, но пропускал это и вызывал UITableViewController! Так что, на самом деле, у меня действительно была такая же проблема, как и у всех остальных, без UINavigationController!

Измените мою программу на ссылку UINavigationController вместо UITableViewController, и теперь все работает так, как ожидалось.

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