2015-11-17 5 views
0

Работа в социальном приложении iPhone с использованием Swift (с раскадкой) и Parse, где пользователи могут создавать сообщения и комментировать сообщения, похожие на приложение iOS для Facebook и другие приложения для социальных сетей.Как установить верхнюю ячейку (первая строка) табличного представления подробного представления с выбранным содержимым ячейки основного вида?

Приложение имеет начальную, основную Главной страницы Ленты (который отображает сообщения пользователя) и подробно Ответить страницы (который отображает комментарии пользователей). Оба используют класс PFTableViewController, и каждый из этих табличных представлений имеет собственный PFTableViewCell, реализованный в отдельных быстрых файлах в качестве прототипов.

Я пытаюсь отправить содержимое (имя пользователя, сообщение, отметка времени и т. Д.) Выбранной ячейки сообщения с главной страницы домашней страницы на самую последнюю ячейку страницы ответа (первая ячейка в верхней части таблицы Посмотреть).

Моя цель состоит в том, чтобы он работал аналогично тому, как это делают приложения Facebook, Instagram и Twitter iOS - всякий раз, когда пользователь выбирает сообщение в основной фиде/временной шкале, отображается подробный вид, где основной пост находится наверху (но не привязана к вершине - это означает, что он будет прокручиваться вверх/вниз с помощью таблицы), а его комментарии находятся в ячейках под ним.

Я ценю вашу помощь и время! Спасибо!

ответ

0

После дальнейших исследований, один из способов «взломать» это делать что-то похожее на следующее:

1) Создание пользовательского Tableview ячейки для верхнего ряда (верхний клеток) путем внедрения в отдельном Swift файл, как вы могли бы сделать для ячейки прототипа.

2) Теперь у вас есть две пользовательские ячейки. Поэтому реализуйте две функции, в каждой из которых вы настраиваете их так, как это соответствует требованиям ваших приложений и т. Д. И к ячейке.

3) В методе cellForRowAtIndexPath используйте оператор if/else, чтобы вернуть соответствующую ячейку таблицы для строки 0 (верхняя/ячейка заголовка), в противном случае вернуть другую ячейку прототипа для любой другой строки (то есть: ячейки под ячейка заголовка):

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 
    if indexPath.row == 0 { 
     return headerCellAtIndexPath() 
    } else { 
     return commentCellAtIndexPath(indexPath) 
    } 
} 

func headerCellAtIndexPath() -> CommentsHeaderTableViewCell { 
    let headerCell = tableView.dequeueReusableCellWithIdentifier("topCell") as! CommentsHeaderTableViewCell 

    // Customize your headerCell... 

    return headerCell 

} 

func commentCellAtIndexPath(indexPath:NSIndexPath) -> CommentTableViewCell { 
    let commentCell = tableView.dequeueReusableCellWithIdentifier("commentCell", forIndexPath: indexPath) as! CommentTableViewCell 

    // Customize your commentCell... 

    return commentCell 
} 
0

При выборе на левой панели вы можете сделать табличное представление на правой панели, прокрутите вверх до анимированного false.

+0

спасибо! Тем не менее, я не пытаюсь прокрутить прокрутку таблицы. Мне нужно отправить все данные (имя пользователя, почтовое сообщение и т. Д.) Выбранной ячейки сообщения в первую строку страницы Reply (самая верхняя ячейка). Вторая, третья, четвертая и т. Д. Ячейки под ними должны содержать ответы. – dnadri

+0

Вы можете отправить уведомление, или вы можете связать эти объекты, чтобы просмотреть контроллер, используя obj_setAssociatedObject и objc_getAssociatedObject. –

+0

Знаете ли вы, как я могу просто установить первую ячейку в виде таблицы подробного представления с содержимым из выбранной ячейки в предыдущем главном представлении? – dnadri