2013-07-16 13 views
8

Mam numer .C# Xamarin/Monotouch.Dialog - EntryElement Nie wyświetlaj wprowadzonych znaków

Czasami kiedy zaczynam pisać, nic nie pokazuje się ...

Kursor nie wyświetla, a gdybym wpisać tekst, to nie widać, ale to nie utrzymywały się do właściwości EntryElement.Value.

Problem wydaje się występować tylko na samym iPhone, ale nie na iOS Simulator. Używam iOS 6.3

Wszelkie pomysły? To prawie dla mnie odpisuje Monotouch, jeśli nie mogę mieć stałego doświadczenia użytkownika.

+0

ten sam problem tutaj, jakieś uaktualnione o tym? – rolivares

+0

Nic. Całkowicie zrezygnowałem z używania Monotouch.Dialog i przestawiłem się na samodzielne sterowanie wszystkimi elementami. – Goober

Odpowiedz

2

Na Xamarin systemie śledzenia błędów Bug 7398 jest sytuacja, którą opisałeś. Jest to wersja 5.4 z iOS, a na 5.2 działa poprawnie.

Również Bug 7116 opisuje ten sam problem, ale tym razem nie był to błąd Xamarins.

Moja sugestia, aby opublikować problem jako błąd na bugzilla.xamarin.com.

Proszę przynieść próbkę, którą podałem powyżej, aby poprawnie napisać raport o błędzie.

0

Wystarczy obejść, że pracy dla mnie:

//FIXME: this is a workaround about a bug relative to the position of TextBox element 
// https://bugzilla.xamarin.com/show_bug.cgi?id=7398 
var tmp = new EntryElement ("a", "a", "a"); 

Dodałem ten kod do pierwszej widokiem na mojej aplikacji i problem znika.

Mam nadzieję, że pomoże to innym.

+0

Jak dokładnie to działa? Twoja deklaracja obiektu wygląda tak samo, jak standardowa deklaracja EntryElement, która powoduje problem ... – Goober

+0

Dodanie tego kodu na pierwszym widoku rozwiązało mój problem. Nie używam zmiennej tmp EntryElement.W moim przypadku, wydaje mi się, że istnieją pewne zadania inicjalizacyjne, które nie zostały wykonane i są ważne dla prawidłowych miar tekstowych w celu wyświetlenia kontroli w widokach do przodu, więc dodanie tego kodu wymusza wykonywanie tych operacji. Spróbuj i powiedz nam, czy to działa dla Ciebie. – rolivares

0

Wygląda na to, że używasz błędu. Jedynym rozwiązaniem, które faktycznie zadziałało, jest podklasa EntryElement i wywołanie metody FetchValue(); w konstruktorze. Oto przykład:

public SAEntryElement (string caption, string placeholder, string value) : base(caption, placeholder, value) 
    { 
     // HACK: A workaround in an attempt to stop the bug where the value field would be empty sometimes 
     FetchValue(); 
    } 

I nie były w stanie dokonać wiarygodnego przypadek testowy umieścić na Bugzilla Xamarin, a nie miałam czasu, aby walczyć dłużej. Ponieważ wdrożyłem to obejście, problem ten minął już od kilku miesięcy zarówno na symulatorze, jak i na urządzeniu. Zauważ, że istnieje podobny symptom dla znanego błędu związanego z pustymi ciągami jako Napisy (oddzielny problem).

0

Z pomocą odpowiedź MikroDel i komentarzach w Bugzilli dla bug 7398, problemem dla mnie było to, że wysokość EntryElement było 0.

Ustawienie go na żądaną wartość (większe niż 0) naprawione problem.

+0

Nie zapewnia to odpowiedzi na pytanie. Aby skrytykować lub poprosić o wyjaśnienie od autora, zostaw komentarz pod swoim postem - zawsze możesz komentować swoje posty, a gdy już masz wystarczającą [reputację] (http://stackoverflow.com/help/whats-reputation), być w stanie [komentować dowolny wpis] (http://stackoverflow.com/help/privileges/comment). –

+0

Przepraszam, jeśli zrobiłem coś złego, po prostu miałem ** dokładnie ten sam problem i to było rozwiązanie, więc chciałem tylko pomóc. – Boris

Powiązane problemy