2015-12-17 6 views
1

У меня есть UITextView в UITableView, и я хочу прокрутить UITableView, чтобы сделать UITextView видимым. Теперь я видел различные решения для этого, включая Apple's. Но в моем случае высота ячейки динамична. И UITextView может быть где угодно в ячейке. Таким образом, UITableViewScrollPosition не будет работать для меня, как я уже пробовал с scrollToRowAtIndexPath.
Есть ли возможное точное решение для этого ИЛИ, если на то пошло, можно автоматически прокручивать UITableView при появлении клавиатуры (не должно быть third party).UITableView в автоматическом прокрутке UIViewController?

+0

Ват, как вы понимаете, автопрокруткой? –

+0

@ Mr.T: Когда клавиатура появляется при нажатии UITextView, которое находится в UITableView, UITableView должен автоматически прокручиваться или не зависеть от позиции UITextView. – Nitish

ответ

0

Предположим, у вас есть массив для вставки данных, чтобы показать, с именем tableArray. В viewDidLoad вам нужно найти индекс объекта UITextView в этом массиве;

let tableArray = ["Data1", "Data2", "Data3", "UITextViewObject", "Data5"] 
let indexForSearch: Int? 
for k in (0...tableArray.count) { 
    if tableArray[k] is UITextView { 
     indexForSearch = k 
     break 
    } 
} 

Затем прокрутите табличное представление, которое индексируется программно;

yourTableView.scrollToRowAtIndexPath(NSIndexPath(forRow: indexForSearch, inSection: 0), atScrollPosition: .Bottom, animated: true) 
+0

Как я уже говорил, я уже пробовал с scrollToRowAtIndexPath, но это не сработает, потому что .Bottom всегда будет перемещаться в нижней части UITableViewCell. И ячейка может быть очень высокой с UITextView в любом месте. – Nitish

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