Po obliczeniach chcę wyświetlić wyskakujące okienko lub alert z komunikatem dla użytkownika. Czy ktoś wie, gdzie mogę znaleźć więcej informacji na ten temat?
303
Tak, UIAlertView
prawdopodobnie jest to, czego szukasz. Oto przykład:
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"No network connection"
message:@"You must be connected to the internet to use this app."
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alert show];
[alert release];
Jeśli chcesz zrobić coś bardziej fantazyjnego, powiedzmy, wyświetl w swoim interfejsie użytkownika niestandardowy interfejs użytkownika UIAlertView
, możesz podklasę UIAlertView
i wstawić niestandardowe składniki interfejsu użytkownika w init
metodzie. Jeśli chcesz odpowiedzieć na naciśnięcie przycisku po UIAlertView
pojawieniu się znaku, możesz ustawić delegate
powyższe i zastosować - (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
metodę.
Możesz także spojrzeć na UIActionSheet
.
Różni ludzie, którzy przychodzą na to pytanie, oznaczają różne rzeczy za pomocą wyskakującego okienka. Bardzo polecam przeczytanie dokumentacji widoków tymczasowych . Moja odpowiedź jest w dużej mierze streszczeniem tej i innych powiązanych dokumentów.
Alert (pokaż mi przykład)
Alerty wyświetlają tytuł i opcjonalny komunikat. Użytkownik musi to potwierdzić (alert za pomocą jednego przycisku) lub dokonać prostego wyboru (alert za pomocą jednego przycisku) przed kontynuowaniem. Tworzysz alert za pomocą
UIAlertController
.Warto zacytować ostrzeżenia i porady dokumentacji dotyczące tworzenia niepotrzebnych alertów.
Uwagi:
UIAlertView
był przestarzały. Powinieneś teraz użyćUIAlertController
do tworzenia alertów.Arkusz czynności (pokaż mi przykład)
Arkusze akcji dają użytkownikowi listę opcji do wyboru. Pojawiają się na dole ekranu lub w oknie pop-up, w zależności od wielkości i orientacji urządzenia. Podobnie jak w przypadku alertów, a
UIAlertController
służy do tworzenia arkusza akcji. Przed iOS 8UIActionSheet
był używany, ale teraz dokumentacja mówi:Widok modalny (pokaż mi przykład)
Modalne widok jest samowystarczalny pogląd, że ma wszystko, co potrzebne do wykonania zadania. Może, ale nie musi zajmować całego ekranu. Aby utworzyć widok modalny, użyj
UIPresentationController
z jednym ze stylów prezentacji modalnej .Zobacz też
Popover (pokaż mi przykład)
Popover to widok, który pojawia się, gdy kranów użytkownika na coś i znika, gdy dotykając poza nim. Ma strzałkę pokazującą element sterujący lub lokalizację, z której wykonano dotknięcie. Treść może zawierać wszystko, co można umieścić w kontrolerze widoku. Robisz popover za pomocą
UIPopoverPresentationController
. (Przed iOS 8UIPopoverController
była zalecaną metodą).W przeszłości pop-upy były dostępne tylko na iPadzie, ale poczynając od iOS 8, można je również uzyskać na iPhonie (patrz tutaj , tutaj i tutaj ).
Zobacz też
Powiadomienia
Powiadomienia to dźwięki / wibracje, alerty / banery lub znaczki, które powiadamiają użytkownika o czymś, nawet gdy aplikacja nie jest uruchomiona na pierwszym planie.
Zobacz też
Uwaga na temat Toastów na Androida
W systemie Android Toast to krótki komunikat, który wyświetla się na ekranie przez krótki czas, a następnie znika automatycznie, nie zakłócając interakcji użytkownika z aplikacją.
Ludzie pochodzący z systemu Android chcą wiedzieć, co to jest wersja Toast na iOS. Niektóre przykłady tych pytań można znaleźć tutaj , tutaj , tutaj i tutaj . Odpowiedź jest taka, że w iOS nie ma odpowiednika Toast . Różne przedstawione obejścia obejmują:
UIView
Jednak radzę trzymać się standardowych opcji interfejsu użytkownika, które są już dostarczane z iOS. Nie staraj się, aby Twoja aplikacja wyglądała i zachowywała się dokładnie tak samo jak wersja na Androida. Zastanów się, jak go ponownie zapakować, aby wyglądał i działał jak aplikacja na iOS.
źródło
Od wydania iOS 8
UIAlertView
jest teraz przestarzałe; UIAlertController jest zamiennikiem.Oto próbka tego, jak to wygląda w Swift:
Jak widać, interfejs API pozwala nam na implementację wywołań zwrotnych zarówno dla akcji, jak i kiedy prezentujemy alert, co jest całkiem przydatne!
Zaktualizowano dla Swift 4.2
źródło
Zaktualizowano dla iOS 8.0
Od iOS 8.0 będziesz musiał używać UIAlertController w następujący sposób:
Gdzie self w moim przykładzie to UIViewController, który implementuje metodę „presentViewController” dla wyskakującego okienka.
David
źródło
W przypadku Swift 3 i Swift 4:
Ponieważ UIAlertView jest przestarzały, istnieje dobry sposób wyświetlania Alert na Swift 3
Przestarzałe:
To jest szybka wersja zainspirowana sprawdzoną odpowiedzią:
Wyświetl AlertView:
Dodaj delegata do kontrolera widoku:
Gdy użytkownik kliknie przycisk, ten kod zostanie wykonany:
źródło
Chociaż już napisałem przegląd różnych rodzajów wyskakujących okienek, większość ludzi potrzebuje tylko alertu.
Jak zaimplementować wyskakujące okno dialogowe
Moja pełniejsza odpowiedź jest tutaj .
źródło
Oto wersja C # w Xamarin.iOS
źródło