Хобрук: Ваш путь к мастерству в программировании

IOS/Xcode/Storyboard: как я могу перейти от строки таблицы к контроллеру модального представления

Я думаю, это вопрос раскадровки.

Как создать переход от строки таблицы к новому контроллеру представления?

Вот картинка того, как это должно выглядеть.

скриншот раскадровки

Я пробовал перетаскивать управление со стола на контроллер представления внизу, но он не берется. Если я встрою контроллер представления в навигатор, я могу создать push-переход, но он не работает, когда вы нажимаете на него.

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

 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    [tableView deselectRowAtIndexPath:indexPath animated:YES];

    // Store Selection
    [self setSelection:indexPath];
}


...

else if ([segue.identifier isEqualToString:@"updateToDoViewController"]) {
            NSLog(@"segue to update");

            // Obtain Reference to View Controller
            UpdateTodoVC *vc = (UpdateTodoVC *)[segue destinationViewController];

            // Configure View Controller
            [vc setManagedObjectContext:self.managedObjectContext];

            if (self.selection) {
                // Fetch Record
                NSManagedObject *record = [self.fetchedResultsController objectAtIndexPath:self.selection];

                if (record) {
                    [vc setRecord:record];
                }

                // Reset Selection
                [self setSelection:nil];
            }
        }
    }

Спасибо за любые предложения.

26.01.2015

Ответы:


1

Вы не можете Ctrl + перетаскивание из ячейки «Прототип»! Вы можете сделать это только со статическими ячейками. Таким образом, вам нужно перетащить Ctrl+Drag от UITableViewController к следующему контроллеру представления, присвоить ему идентификатор updateToDoViewController и выполнить переход программно:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    [tableView deselectRowAtIndexPath:indexPath animated:YES];

    // Store Selection
    [self setSelection:indexPath];

    // Perform the segue with identifier: updateToDoViewController
    [self performSegueWithIdentifier:@"updateToDoViewController" sender:self];
}
26.01.2015
Новые материалы

HMTL - Многозадачное обучение для решения задач НЛП
Достижение результатов SOTA путем передачи знаний между задачами Область обработки естественного языка включает в себя десятки задач, среди которых машинный перевод, распознавание именованных..

Решения DBA Metrix
DBA Metrix Solutions предоставляет удаленного администратора базы данных (DBA), который несет ответственность за внедрение, обслуживание, настройку, восстановление базы данных, а также другие..

Начало работы с Блум
Обзор и Codelab для генерации текста с помощью Bloom Оглавление Что такое Блум? Некоторые предостережения Настройка среды Скачивание предварительно обученного токенизатора и модели..

Создание кнопочного меню с использованием HTML, CSS и JavaScript
Вы будете создавать кнопочное меню, которое имеет состояние наведения, а также позволяет вам выбирать кнопку при нажатии на нее. Финальный проект можно увидеть в этом Codepen . Шаг 1..

Внедрите OAuth в свои веб-приложения для повышения безопасности
OAuth — это широко распространенный стандарт авторизации, который позволяет приложениям получать доступ к ресурсам от имени пользователя, не раскрывая его пароль. Это позволяет пользователям..

Классы в JavaScript
class является образцом java Script Object. Конструкция «class» позволяет определять классы на основе прототипов с чистым, красивым синтаксисом. // define class Human class Human {..

Как свинг-трейдеры могут использовать ИИ для больших выигрышей
По мере того как все больше и больше профессиональных трейдеров и активных розничных трейдеров узнают о возможностях, которые предоставляет искусственный интеллект и машинное обучение для улучшения..