2012-04-11 4 views
3

Ну, как я уже сказал в теме, моя проблема в том, что я выбираю программно ячейку в виде таблицы с намерением автоматически выполнить связанный сегмент , У меня есть код для этого на viewWillAppear связанного с ним контроллера tableviewcontroller.Выбор программно ячейки в представлении таблицы не выполняет связанный сегмент

В результате выбрана ячейка, но сеанс не выполняется. Ты знаешь почему?

К тому моменту я выступаю в SEGUE программно на viewWillAppear, чтобы решить эту проблему, но мне интересно, о том, почему переход не выполняется автоматически, если выбрана ячейка ...

Кстати , Segue должен быть в порядке, потому что, когда я выбираю, что нажатие на ячейку работает правильно.

Дополнительная информация: Я работаю над контроллером splitview. Левая сторона имеет контроллер tableview, а segue представляет собой viewcontroller с правой стороны.

Большое спасибо!

Carlos

Похожие код:

- (void) viewWillAppear:(BOOL)animated 
{ 
[super viewWillAppear:animated]; 

// Si no hay ninguna fila seleccionada, seleccionaremos la primera 

// Obtenemos la fila seleccionada 
NSIndexPath *filaSeleccionadaPath = [self.tableView indexPathForSelectedRow]; 

// Si no hay ninguna fila seleccionada 
if (!filaSeleccionadaPath) 
{ 
    NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSection:0]; 
    [self.tableView selectRowAtIndexPath:indexPath animated:NO scrollPosition:UITableViewScrollPositionNone]; 

} 

}

+0

требуется фрагмент кода? –

+0

Вы попробовали: [cell setSelected: YES animated: YES]; – CarlJ

+0

Тот же результат с [cell setSelected: YES animated: YES]; – Carlos

ответ

6

Документация по UITableView определяет:

Вызов этого метода не вызывает делегат получать Tableview: willSelectRowAtIndexPath: или tableView: didSelectRowAtIndexPath: сообщение, и он не отправит UITableViewSelectionDidChang уведомления об уведомлениях для наблюдателей.

Таким образом, он не будет вызывать никаких действий. Если вы используете segues, вы можете использовать performSegueWithIdentifier:sender: на классе UIViewController (скорее всего self). Вы можете указать идентификатор и отправляющий элемент (скорее всего, ячейку).

+0

Хорошо, я вижу. Большое спасибо! – Carlos

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