/ / MonoTouch.Dialog wsparcie dla Pull to Refresh w iOS 7 - ios, xamarin.ios, xamarin, ios7, pull-to-refresh

Obsługa MonoTouch.Dialog dla funkcji Pull to Refresh w systemie iOS 7 - ios, xamarin.ios, xamarin, ios7, pull-to-refresh

Używam natywnego MonoTouch.Obsługa okien dialogowych dla funkcji Pull to Refresh w systemie iOS, jednak ponieważ w systemie iOS 7 kontrolery widoku mogą być wyświetlane w trybie pełnoekranowym (poniżej paska nawigacji i paska stanu), funkcja Pull to Refresh przestała działać poprawnie.

Próbowałem się bawić TableView.ContentOffset i TableView.ContentInset właściwości w moim MonoTouch.Dialog.DialogViewController podklasy, ale nie mogłem znaleźć żadnego punktu dostosowania. MonoTouch.Dialog.DialogViewController używa wielu prywatnych stałych / pól / klas, co utrudnia jego rozszerzenie.

Również https://github.com/migueldeicaza/MonoTouch.Dialog wygląda na przestarzały.

Czy ktoś z powodzeniem używa funkcji Pull to Refresh w iOS 7 z MonotTouch.Dialog?

Odpowiedzi:

1 dla odpowiedzi № 1

OK, nagle zdałem sobie sprawę, że moim celem wdrożenia aplikacji jest iOS> = 6.x (niedawno zrezygnowałem z obsługi iOS 5), więc mogę użyć UIKitjest rodzimy UIRefreshControl zamiast tego, który skaluje się zarówno z iOS 6, jak i iOS 7;).


0 dla odpowiedzi nr 2

Miałem ten sam problem i miałem inne rozwiązanie. Robiłem co następuje

public MyController()
: base(null)
{
RefreshRequested += MyController_RefreshRequested;
Root = new RootElement(null);
}

Natychmiast dzwoniłem do ReloadComplete, to źle, nie rób tego

void MyController_RefreshRequested(object sender, EventArgs e)
{
InvokeOnMainThread(
delegate
{
ReloadComplete();
}
}

Musisz trochę poczekać, zanim odświeżysz ...

void MyController_RefreshRequested(object sender, EventArgs e)
{
InvokeOnMainThread(
delegate
{
Thread.Sleep(1000);
ReloadComplete();
}
}

przy okazji, oryginalny problem wygląda tak, jakby został naprawiony na githubie przez bhomles: https://github.com/migueldeicaza/MonoTouch.Dialog/issues/190