Monotouch: MT.Dialog превъртете надолу?

Имам MT.Dialog, където добавям някои регистрационни данни.

Редовете могат да бъдат с различна височина.

Как мога да се уверя, че моят MT.Dialog винаги се превърта до дъното, така че целият последен ред винаги да е видим?

НО .... ако потребителят превърта списъка нагоре, той не трябва да превърта до дъното, когато добавя нови редове.

Някакви предположения?

Благодаря! Моджо


person MojoDK    schedule 29.12.2011    source източник


Отговори (1)


Хм, без да знам повече за вашата реализация или структура на коренния елемент, мога само да предположа, че е само от най-високо ниво, а не е вложено. Това се казва....

var lastIndexPath = this.Root.Last()[this.Root.Last().Count-1].IndexPath;
this.TableView.ScrollToRow(lastIndexPath, UITableViewScrollPosition.Middle, true);

... можете просто да вземете indexPath на последния ред в масива, да вземете неговия индексен път и да превъртите изгледа на таблицата надолу до него програмно.

За информация, кодът за получаване на indexPath не е тестван, но трябва да работи добре. Уверете се, че сте дефинирали следното в горната част на вашия клас :-)

using System.Linq;
person Anuj    schedule 29.12.2011
comment
Страхотно благодаря! ... Сега трябва само да разбера дали последният ред е видим, преди да задействам вашия код. Ако потребителят превърта списъка нагоре, тогава не трябва да прави видим последния ред. Някаква идея? - person MojoDK; 30.12.2011
comment
Кратък отговор: подклас Element, заменете GetCell, добавете състояние за ScrolledToBottom и направете управление на състоянието в GetCell. - person Anuj; 30.12.2011