MonoTouch. Диалог строк анимации - PullRequest
0 голосов
/ 07 марта 2012

Просто интересно, можно ли в разделе не иметь анимации при добавлении / удалении элементов в разделе.Или даже при добавлении / удалении самого раздела.

В ViewWillAppear я проверяю глобальное логическое значение, чтобы увидеть, было ли приложение закрыто / вновь открыто.Это приведет к перезагрузке новых данных.(Установлен ли RefreshRequested, но клиент захотел это так).Поэтому в ViewWillAppear мы вызываем функцию UpdateCells, которая выполняет следующие действия:

// Using Bottom animation as its the closest to none (none has no fade effects
// but makes solid cells move upwards in the TableView and then suddenly disappear)
Root.Remove(mySection1, UITableViewRowAnimation.Bottom);
Root.Remove(mySection2, UITableViewRowAnimation.Bottom);
mySection1.Clear();
mySection2.Clear();
// Load stuff from SQLite DB and populate sections. Adding looks like:
// if (isThisWeek)
// {
//    section1.Insert(0, UITableViewRowAnimation.None, newElement);
// }
// else
// {
//    section2.Insert(0. UITableViewRowAnimation.None, newElement);
// }
// Now finally add sections back into Root if there exists elements in them.
if (sectionThisWeek.Count > 0)
{
    Root.Insert(1, UITableViewRowAnimation.None, sectionThisWeek);
}
if (sectionCommingUp.Count > 0)
{
    Root.Insert(1, UITableViewRowAnimation.None, sectionCommingUp);
}

Я надеялся на что-то вроде: приостановить все в DialogViewController, поработать над ним, затем выполнить ReloadComplete () без анимации.. каким-то образом ...

Любые идеи, что я делаю неправильно, или лучший способ сделать то, что я пытаюсь сделать.

1 Ответ

1 голос
/ 07 марта 2012

Если вы перезагружаете все данные одновременно, вы можете просто назначить все новое значение свойству Root в DialogViewController, и анимация не будет отображаться.

...