2013-09-09 4 views
1

Я использую UITableViewбез контроллера навигации. Моя проблема в том, что когда я нажимаю на определенную ячейку, она не нажимает на другую UIViewController.Перейдите в UITableViewController, выбрав UITableView Cell

Вот мой код,

-(void)goToMyView 
{ 
UIStoryboard *sb = [UIStoryboard storyboardWithName:@"Main" bundle:nil]; 
TOMenuViewController *vc = [sb instantiateViewControllerWithIdentifier:@"MyViewController"]; 
[self.navigationController pushViewController:vc animated:YES]; 
} 

Как перейти на другой контроллер зрения и вернуться из него.

ответ

2

Вместо этой строки кода:

[self.navigationController pushViewController:vc animated:YES]; 

использования эта строка кода:

[self presentViewController:vc animated:YES completion:nil]; 

Если вы хотите вернуться к старому контроллеру вида в новом использовании контроллера представления:

[self dismissViewControllerAnimated:YES]; 

И для анимации перед тем, как представить свой контроллер просмотра, используйте:

vc.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal; 
+0

Спасибо за помощь, но это оживляющий снизу вверх. Мне нужно это с правой стороны налево. – Chanuka

+0

@ user2745507 Вам нужна другая анимация? –

+0

Да, мне нужно это с правой стороны налево. – Chanuka

0

пытаются использовать prepareForSegue:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { 

    //you have to give an id to segue, in storyboard 

    if ([[segue identifier] isEqualToString:@"detail"]) { 

    //passing strings or whatever you want here so: 
    [segue.destinationViewController setStringDetail: yourString]; 

} 

в detailViewController кнопку возврата автоматически создается