Yanıtlar:
Evet, UIAlertView
muhtemelen aradığınız şey budur. İşte bir örnek:
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];
Daha süslü bir şey yapmak istiyorsanız, diyelim ki içinde özel bir kullanıcı arayüzü gösterin, yöntemde UIAlertView
alt sınıflama yapabilir UIAlertView
ve özel kullanıcı arayüzü bileşenlerini koyabilirsiniz init
. Düğmesine bastıktan sonra bir düğmeye basmak UIAlertView
istiyorsanız, delegate
yukarıdakileri ayarlayabilir ve - (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
yöntemi uygulayabilirsiniz .
Ayrıca bakmak isteyebilirsiniz UIActionSheet
.
Bu soruya gelen farklı kişiler, bir açılır kutu ile farklı şeyler ifade eder. Geçici Görünüm belgelerini okumanızı şiddetle tavsiye ederim . Cevabım büyük ölçüde bu ve ilgili diğer belgelerin bir özetidir.
Uyarılar bir başlık ve isteğe bağlı bir mesaj görüntüler. Kullanıcı devam etmeden önce bunu kabul etmeli (tek tuşla uyarı) veya basit bir seçim yapmalıdır (iki tuşla uyarı). İle bir uyarı oluşturursunuz UIAlertController
.
Gereksiz uyarılar oluşturma konusunda belgelerin uyarı ve tavsiyelerine değinmeye değer.
Notlar:
UIAlertView
kullanımdan kaldırıldı. UIAlertController
Şimdi uyarı oluşturmak için kullanmalısınız .Eylem Sayfaları kullanıcıya bir seçenekler listesi verir. Cihazın boyutuna ve yönüne bağlı olarak ekranın altında veya bir popoverda görünürler. Uyarılarda olduğu gibi, a UIAlertController
eylem sayfası oluşturmak için a kullanılır. İOS 8'den önce UIActionSheet
, ancak şimdi belgeler diyor:
Önemli:
UIActionSheet
iOS 8. (Not önerilmiyorUIActionSheetDelegate
oluşturmak ve iOS 8'de eylem sayfaları yönetmek ve daha sonra yerine kullanın. Ayrıca kullanımdan kaldırıldı)UIAlertController
bir ilepreferredStyle
aitUIAlertControllerStyleActionSheet
.
Bir modal görünümü bir görevi tamamlamak için gereken her şeye sahiptir kendine yeten bir görünümüdür. Tam ekranı alabilir veya almayabilir. Kalıcı bir görünüm oluşturmak UIPresentationController
için Kalıcı Sunum Stillerinden biriyle a kullanın .
Ayrıca bakınız
Bir Popover bunun kapalı dokunarak zaman bir şey üzerinde bir kullanıcı muslukları görünür ve kaybolur bir görünümüdür. Musluğun yapıldığı yerden kontrol veya konumu gösteren bir oka sahiptir. İçerik, Görünüm Denetleyicisine koyabileceğiniz hemen hemen her şey olabilir. İle bir popover yaparsınız UIPopoverPresentationController
. (İOS 8'den önce UIPopoverController
önerilen yöntemdi.)
Geçmişte popovers sadece iPad'de mevcuttu, ancak iOS 8'den başlayarak onları bir iPhone'a da alabilirsiniz ( buraya , buraya ve buraya bakın ).
Ayrıca bakınız
Bildirimler , uygulama ön planda çalışmadığında bile kullanıcıyı bir şey hakkında bilgilendiren sesler / titreşimler, uyarılar / afişler veya rozetlerdir.
Ayrıca bakınız
Android'de bir Tost , ekranda kısa bir süre için görüntülenen ve daha sonra uygulama ile kullanıcı etkileşimini bozmadan otomatik olarak kaybolan kısa bir mesajdır.
Android arka planından gelen kullanıcılar, Tost'un iOS sürümünün ne olduğunu bilmek ister. Bu soruların bazı örneklerini burada , burada , burada ve burada bulabilir . Cevap, iOS'ta bir Tost'a eşdeğer olmamasıdır . Sunulan çeşitli geçici çözümler şunlardır:
UIView
Bununla birlikte, tavsiyem, iOS ile birlikte gelen standart UI seçeneklerine uymaktır. Uygulamanızı Android sürümüyle aynı şekilde göstermeye ve aynı şekilde davranmaya çalışmayın. Bir iOS uygulaması gibi görünmesi ve hissedilmesi için nasıl yeniden paketleyeceğinizi düşünün.
İOS 8'in piyasaya sürülmesinden bu yana UIAlertView
artık kullanımdan kaldırıldı; Taraftarlar aynı şekilde yerine giren UIAlertController için de tezahüratını eksik etmedi.
Swift'te nasıl göründüğüne bir örnek:
let alert = UIAlertController(title: "Hello!", message: "Message", preferredStyle: UIAlertControllerStyle.alert)
let alertAction = UIAlertAction(title: "OK!", style: UIAlertActionStyle.default)
{
(UIAlertAction) -> Void in
}
alert.addAction(alertAction)
present(alert, animated: true)
{
() -> Void in
}
Gördüğünüz gibi, API hem eylem için hem de uyarıyı sunarken geri dönüşler uygulamamıza izin veriyor, ki bu oldukça kullanışlı!
Swift 4.2 için güncellendi
let alert = UIAlertController(title: "Hello!", message: "Message", preferredStyle: UIAlertController.Style.alert)
let alertAction = UIAlertAction(title: "OK!", style: UIAlertAction.Style.default)
{
(UIAlertAction) -> Void in
}
alert.addAction(alertAction)
present(alert, animated: true)
{
() -> Void in
}
İOS 8.0 için güncellendi
İOS 8.0'dan beri UIAlertController'ı aşağıdaki gibi kullanmanız gerekir:
-(void)alertMessage:(NSString*)message
{
UIAlertController* alert = [UIAlertController
alertControllerWithTitle:@"Alert"
message:message
preferredStyle:UIAlertControllerStyleAlert];
UIAlertAction* defaultAction = [UIAlertAction
actionWithTitle:@"OK" style:UIAlertActionStyleDefault
handler:^(UIAlertAction * action) {}];
[alert addAction:defaultAction];
[self presentViewController:alert animated:YES completion:nil];
}
Benim örneğimde kendini bir pop-up için "presentViewController" yöntemi uygulayan bir UIViewController olduğu.
David
Swift 3 ve Swift 4 için:
UIAlertView kullanımdan kaldırıldığı için Swift 3'te Uyarı görüntülemek için iyi bir yol var
let alertController = UIAlertController(title: NSLocalizedString("No network connection",comment:""), message: NSLocalizedString("connected to the internet to use this app.",comment:""), preferredStyle: .alert)
let defaultAction = UIAlertAction(title: NSLocalizedString("Ok", comment: ""), style: .default, handler: { (pAlert) in
//Do whatever you want here
})
alertController.addAction(defaultAction)
self.present(alertController, animated: true, completion: nil)
Onaylanmadı:
Bu, kontrol edilen yanıttan esinlenen hızlı sürümdür:
Ekran Uyarı Görünümü:
let alert = UIAlertView(title: "No network connection",
message: "You must be connected to the internet to use this app.", delegate: nil, cancelButtonTitle: "Ok")
alert.delegate = self
alert.show()
Temsilciyi görünüm denetleyicinize ekleyin:
class AgendaViewController: UIViewController, UIAlertViewDelegate
Kullanıcı düğmeyi tıkladığında bu kod yürütülür:
func alertView(alertView: UIAlertView, clickedButtonAtIndex buttonIndex: Int) {
}
Zaten farklı pop-up türlerine genel bir bakış yazmış olmama rağmen , çoğu insanın bir Alert'e ihtiyacı var.
class ViewController: UIViewController {
@IBAction func showAlertButtonTapped(_ sender: UIButton) {
// create the alert
let alert = UIAlertController(title: "My Title", message: "This is my message.", preferredStyle: UIAlertController.Style.alert)
// add an action (button)
alert.addAction(UIAlertAction(title: "OK", style: UIAlertAction.Style.default, handler: nil))
// show the alert
self.present(alert, animated: true, completion: nil)
}
}
Daha tam cevabım burada .
İşte Xamarin.iOS'ta C # sürümü
var alert = new UIAlertView("Title - Hey!", "Message - Hello iOS!", null, "Ok");
alert.Show();