Yenilemek İçin Kaydırın – iOS Uygulama Geliştirme 13

Kullanmakta olduğumuz mobil uygulamalarda fark ettiyseniz listeyi aşağıya doğru çektiğiniz zaman liste yenileniyor. Eğer listeye eklenen yeni bir üye varsa bu üye bir anda listede gösterilmeye başlanıyor. Bu işlemi yapmaya ilk başlarda çok alışamamış olsak da şu anda bu hareket herkes için refleks olmuş durumda. Yenilemek için kaydırın özelliği iOS tarafında nasıl kullanılır gelin beraber geliştirdiğimiz uygulamaya bu özelliği ekleyelim.

Yenilemek İçin Kaydırın Swift

Pull to refresh olarak geçen bu özelliği kod tarafına implemente etmek sandığınızdan aslında çok daha kolay. I am Ege uygulamasında bildiğiniz üzere bir liste oluşturmuştuk. Bu listeye yenilemek için kaydırın özelliğini ekleyeceğim.

Bunun için ilk olarak Main.storyboard üzerinde tanımlı olan School History Table View yani Table View Controller komponentine Refresh Control ekleyeceğiz. Bu işlem için biraz kod yazmamız gerekiyor. Yazacağımız kodlarda ilk olarak tabloya Refresh Control ekleyeceğiz. Ardından refresh control için hedef belirleyeceğiz. Target içerisinde refresh işlemini hangi fonksiyon ile hangi UI etkinliği tetiklendiğinde yapacağımızı yazacağız. Aynı zamanda yenileme işlemi için gösterilen imlecin ekranda bir kaç saniye kalması için ufak bir kod daha yazacağım.

  schoolHistoryTableView.refreshControl = UIRefreshControl()
  schoolHistoryTableView.refreshControl?.addTarget(self, action: #selector(pullToRefresh), for: .valueChanged)
  @objc func pullToRefresh(){
        print("Table refreshed")
        DispatchQueue.main.asyncAfter(deadline: .now()+3) {self.schoolHistoryTableView.refreshControl?.endRefreshing()
        }
        // You can add your refresh datalist method to here
    }

Ben yenileme işleminin olduğu kısma bir print komutu koydum. Siz bu kod bloğu içerisinde istediğiniz gibi tablonuzu yenileyecek fonksiyonu yazabilirsiniz. Benim tablom statik bir tablo olduğu için bu şekilde fonksiyon içerisini yazmadım.

Bu geliştirmeye ait checkin detaylarına changeset adresinden erişebilirsiniz.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir