2015-07-22 1 views
0

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

Фигурные его

let button = sender as! UIButton 
let view = button.superview! 
let cell = view.superview as! <cellname> 

let indexPath = tableView.indexPathForCell(cell) 

let row = indexPath?.row 

tableView.scrollToRowAtIndexPath(NSIndexPath(forRow: row!+1, inSection: 0), atScrollPosition: UITableViewScrollPosition.Top, animated: false) 

ответ

0

Да, вы можете использовать функцию scrollToRowAtIndexPath из UITableView программно прокрутить вид таблицы.

+0

я получил tableView.scrollToRowAtIndexPath (NSIndexPath (forRow: <#Int#>, надрез: <#Int#>), atScrollPosition: UITableViewScrollPosition.Bottom, анимированные: ложь), но я не знаете, что поставить для nsindexpath – gooberboobbutt

+0

, если у вас есть только 1 раздел в вашем представлении таблицы, ваш NSIndexPath должен быть NSIndexPath (forRow: 0, inSection: 0) для первой строки, NSIndexPath (forRow: 1, inSection: 0) для второго ряд и т. д. –

+0

, который работает только один раз, он не отправится в третью четвертую пятую строку – gooberboobbutt

0

Установите свойство scrollEnabled в NO.because UITableView является подклассом UIScrollView. то вы можете управлять прокруткой, используя свой собственный код.

0

Вы должны использовать scrollToRowAtIndexPath так:

[self.tableView scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionTop animated:YES]; 

для indexPath вам нужно использовать класс NSIndexPath так:

NSIndexPath *indexPath = [NSIndexPath indexPathForRow:rowYouDesire inSection:sectionYouDesire]; 
+0

есть ли способ сделать текущую строку + 1? cuz what i haen ow - tableView.scrollToRowAtIndexPath (NSIndexPath (forRow: 1, inSection: 0), atScrollPosition: UITableViewScrollPosition.Bottom, анимированный: false), и он переходит во вторую строку, но теперь третий и четвертый пятый – gooberboobbutt

+0

@gooberboobbutt просто создают глобальная переменная задает значение 1 и просто добавляет 1 к ней каждый раз, когда вы хотите прокрутить до следующей строки. – JustAnotherCoder

1

enter image description here

Я сделал пробный проект по git https://github.com/hammyhamza/StackOverflow

+0

попробовал, пустой проект – gooberboobbutt

+0

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

+0

im, заполняющий tableview с помощью метода cellforrowandindex, поэтому im пытаясь понять, как добавить в [indexPath.row], чтобы он правильно переходил к следующей строке после текущего. все, что я сделал, относится к текущей строке как первая, поэтому кнопка всегда идет во вторую строку. – gooberboobbutt

0

Я нашел решение!

let button = sender as! UIButton 
let view = button.superview! 
let cell = view.superview as! <cellname> 

let indexPath = tableView.indexPathForCell(cell) 

let row = indexPath?.row 

tableView.scrollToRowAtIndexPath(NSIndexPath(forRow: row!+1, inSection: 0), atScrollPosition: UITableViewScrollPosition.Top, animated: false) 
0

В Swift 3.0 в Xcode 8:

let mylist = MessageList //your class array 

tableView1.scrollToRow(at: IndexPath(row: (mylist?.count)!-1, section: 0), at: UITableViewScrollPosition.bottom, animated: true) 
+0

Как прокручивать таблицу программно внизу, как в обмене сообщениями? извините, .. кажется, мой ответ прав, вопрос не прав .. что со мной происходит ... простите меня .., я ужасно сошел с ума .. –

+0

не беспокойтесь, это нормально. – Mina

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