Press ESC to close

Swift Alert & Action Sheet

Merhaba arkadaşlar. Bu yazımda Swift ile nasıl bir Alert ve Display Action Sheet oluşturulur bundan bahsedeceğim. Öncelikle Alert ve Display Action Sheet nedir bundan bahsedeceğim.

Eğer ki ekranda bir hata veya uyarı mesajı göstermek istiyorsanız, bunun için en uygun yol Alert çıkarmaktır. Kullanımı oldukça basit ve işlevseldir. Ya da kullanıcıya seçenek sunmak sitiyorsanız ise yine diğer basit yol Display Action Sheet kullanmaktır. İlk önce Alert ile başlayalık. Öncelikle bir UIAlertController oluşturmanız gerekiyor. Oluştururken sizden bir başlık ve mesaj istiyor. Burada büyük harflerle başlıkta ve daha ufak harflerle mesajda ne yazacağını girmeniz gerekiyor. Ardından bu UIAlertController’ın hangi tipte olduğunu girmeliyiz. Biz Alert çıkarmak istediğimizden Alert seçiyoruz.

Alert ekledikten sonra bu Alert’e butonlar eklememiz gerekiyor. Uyarı mesajları için genellikle sadece “Tamam” butonu eklenirken, 2 seçenekli mesajlarda sunabiliriz. Bu yüzden ben 2 adet buton ekliyorum. Bunun için UIAlertAction eklememiz gerekiyor. UIAlertAction eklerken bize başlık ve tip soruyor. Bu başlığı girdikten sonra hangi tipte olacağını soruyor. Bu tipte aslında başlığın fontunu değiştirmemize yarıyor. Sonrasında ise bittiğinde ne yapacağımızı istiyor. Eğer ki bir şey yapmak istemiyorsanız nil verip geçebilirsiniz. Ama butona tıkladıktan sonra bir işlem yapmak istiyorsanız burada size bir closure açıyor. Bu closure içerisinde işlemlerini yapabilirsiniz. Butonları ekledikten sonra, bu butonları Alert’imize eklememiz gerekiyor. Alert’e aksiyon ekle gibi bir fonksiyon ile bu butonları ekleyebilirsiniz. En son işlem olarak da bu Alert’ü ekranda göstermek kalıyor. Swift’in present fonksiyonu ile Alert’ü verip animasyonuna da doğru demeniz yeterli. Eğer ki yine Alert açılırken bir işlem yapacaksanız bu closure’u kullanabilirsiniz.

func makeAlert() {
        let alert = UIAlertController(title: "Title", message: "Message", preferredStyle: .alert)
        let okButton = UIAlertAction(title: "Ok", style: .default) { (action) in
            print("ok was clicked")
        }
        let cancelButton = UIAlertAction(title: "Cancel", style: .cancel) { (action) in
            print("cancel was clicked")
        }
        alert.addAction(okButton)
        alert.addAction(cancelButton)
        present(alert, animated: true) {
            print("alert is done")
        }
    }

Display Action Sheet ise aslında hemen hemen aynı sadece Alert oluştururken Alert yerine Display Action Sheet seçmeniz yeterli.

func makeDisplayActionSheet() {
        let alert = UIAlertController(title: "Title", message: "Message", preferredStyle: .actionSheet)
        let firstButton = UIAlertAction(title: "First", style: .default) { (action) in
            print("first was clicked")
        }
        let secondButton = UIAlertAction(title: "Second", style: .default) { (action) in
            print("second was clicked")
        }
        alert.addAction(firstButton)
        alert.addAction(secondButton)
        present(alert, animated: true) {
            print("alert is done")
        }
    }

Sorularınız olursa mail veya yorum atarak ulaşabilirsiniz. İyi çalışmalar.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir