2015-06-04 21 views
6

W zegarku Apple kontroler interfejsu górny lewy brzeg miał anulować etykietę lub tytuł ekranu. W moim przypadku po zakończeniu logowania nie chcę iść do ekranu wstecz. Dlatego chcę wyłączyć interakcję użytkownika dla tej etykiety anulowania lub obszaru tytułowego ekranu. Mimo że nie ma tam tytułu, zabiera on interakcję użytkownika i cofa ekran. Z góry dziękuję!!Jak wyłączyć interakcję przycisku anulowania?

Odpowiedz

1

Nie można wyłączyć interakcji użytkownika z przyciskiem Wstecz.

Ale możesz zmienić nieco sposób prezentowania swoich poglądów, aby osiągnąć to, co chcesz.

Zacznij od normalnego widoku. Sprawdź, czy musisz pokazać użytkownikowi login. Jeśli to zrobisz, pokaż widok logowania Modally. Po zakończeniu logowania zamykasz widok modalny i powracasz do normalnego widoku, bez niepotrzebnego przycisku wstecz.

+0

kiedy ekran logowania jest widoczny, użytkownik może odrzucić i zobaczyć mój faktyczny kontroler w prawo? Myślę, że to nie działa dla mnie ..! @pteofil –

+0

Mogę nadal znajdować rozwiązania, ale myślę, że głównym problemem jest to, że login na zegarku nie jest częścią zaprojektowanych przypadków użytkownika dla zegarka. – pteofil

+0

To, co robisz w aplikacji na iPhone'a, to informowanie użytkownika, że ​​musi być zalogowany, aby korzystać z aplikacji i przycisk do logowania. Jeśli użytkownik dotknie logowania, wyświetli widok logowania modalnie, a po jego zamknięciu zaktualizuje widok o nową zawartość dla zalogowanych użytkowników. – pteofil

10

Nie można wyłączyć przycisku "Wstecz/Anuluj", ale można załadować kontroler bez przycisku anulowania.

presentControllerWithName("NewInterfaceController", context: nil) 

presentControllerWithName ten zaprezentuje kontrolera z przycisku anulowania. Jeśli użyjemy jak poniżej, nie otrzymamy przycisku anulowania.

WKInterfaceController.reloadRootControllersWithNames(["NewInterfaceController"], contexts: ["NewInterfaceController"]) 

reloadRootControllersWithNames uczyni nasz kontroler jako kontroler korzeni, więc nie dostanie przycisk Anuluj. W ten sposób rozwiązałem mój problem. Mam nadzieję, że to ci pomoże.

UWAGA: tutaj [] jest składnią. exp: ["NewInterfaceController"]

Powiązane problemy