2013-11-28 6 views
-3

У меня есть таблица с 5 ячейками, и если пользователь щелкает мою вторую ячейку, например, я хочу показать другую таблицу или другую страницу.Использование didSelectRowAtIndexPath

Пользуется

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath` 

путь?

+0

Да, вы используете это для обнаружения кликов по ячейкам. – joao

+0

Спасибо. Можете ли вы дать мне простой пример? – kpsaravan

ответ

0

Вот пример навигации к другому контроллеру представления, когда пользователь нажимает на вторую ячейку (если у вас есть навигационный контроллер):

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ 

    if(indexPath.row == 1){ 

     MyViewController * vc = [[MyViewController alloc] init]; 
     [self.navigationController pushViewController:vc animated:YES]; 

    } 

} 
0

образец Ссылка: http://www.tutorialspoint.com/ios/ios_ui_elements_tableview.htm

if (indexPath.row ==1) 

{ 

      //Second cell index path its move another class xib 

    classname *yourcontroller = [[classname alloc] initWithNibName:@"xib file name" bundle:nil]; 

    yourcontroller.modalTransitionStyle = UIModalTransitionStyleCoverVertical; 
    [self presentViewController:helpcontroller animated:YES completion:nil]; 

} 
0

Если вы используете раскадровку, вы можете пропустить tableView:didSelectRowAtIndexPath: и использовать вместо этого prepareForSegue:sender::

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

     SomeOtherViewController *vc = (SomeOtherViewController *)segue.destinationViewController; 
      // assign something to vc 
    } 
} 
Смежные вопросы