İOS Obj-C

iOS Table View

Table View, iOS uygulamaları yaparken en çok kullandığımız bir kaç bileşenden biridir. Bir tablo içerisinde hücrelerden oluşan bu yapı ile her an iç içeyiz.Örneğin telefon rehberimizi açtığımızda yada iphoneumuzun ayarlarına girdiğimizde karşımıza çıkan yapılar birer table viewdir.

Çeşitli kullanım şekilleri ve tipleri olan bu yapıyı ayrıntılı olarak inceleyeceğiz.

Bir kaç örnek table view :

table view ornek

 

Adım 1:

Öncelikle boş bir proje oluşturalım. Daha sonra Storyboardumuza gelip, sağ taraftan bir tane Table View Controller sürükleyelim. Ardından boş view’in üzerinde olan ok işaretini alıp, yeni sürüklediğimiz Table View Controller ekranına bırakalım. Bu ok, uygulama ilk açıldığında gelecek olan ekranı belirtir.storyboard

 

Adım 2 :

Bu işlemi bitirdikden sonra, File -> New ->File seçip ardından, Objective C class’ı seçiyoruz. Daha sonra Class ismini veriyoruz, ben ListController dedim. Önemli olan nokta ise  subclass ı UITableViewController seçmek.

TableViewController classı

 

Adım 3 :

Artık table view ekranımız hazır. Şimdi ona nasıl veri gireceğimizi ve kullanacağımızı öğrenelim. En önemli table view metodları şunlardır :

  • numberOfSectionsInTableView : Table view içerisindeki bölüm sayısını ifade eder.
  • numberOfRowsInSection : Her bölüm içerisinde bulunacak olan hücre sayısını ifade eder.
  • cellForRowAtIndexPath : Her hücre içerisindeki gösterilecek olan veriyi atadığımız yeri ifade eder.
  • didSelectRowAtIndexPath : Hücrelere tıkladığımız zaman yapacağımız aksiyonu kodladığımız yeri ifade eder.

Basit bir telefon defteri uygulaması yapalım. Table view’da kişilerin isimleri ve bu isimlere ait resimler bulunsun.

Kişilerin ismini bir tane diziye, resimlerini de başka bir diziye atalım. Bunun için ListController.h dosyasında 2 tane dizi tanımlayalım.

Daha sonra ListController.m dosyasında bu dizilere isimleri ve resimlerin isimlerini atayalım. Resimlerin isimlerini kullanmamın sebebi, onları daha önceden projenin içerisine kopyalamış olmam ve bu isimlere göre çekecek olmam. Kopyalama işlemini yaparken resimleri sürükleyip sol taraftaki proje dosyalarının arasına bırakmanız yeterli. Benimki bu şekilde görünüyor.

tableviewtut

viewDidLoad içine yazdığımız kod aşağıdaki gibi.Kod üzerindeki açıklamalara dikkat ediniz.

 

numberOfSectionsInTableView metodumuza return 1 değerini giriyoruz. Bu bize 1 tane table view bölümü açacak.

 

numberOfRowsInSection metodumuza manuel bir değer girmiyorum. Dizimizdeki elemanların sayısına göre otomatik bu değeri oluşturuyoruz. onun içinde [diziAdı count]; metodunu çağırıyoruz.

 

cellForRowAtIndexPath metodumuzda ise her hücre içinde olacak veriyi giriyoruz. Burada dizinin indisleri ile table view cell indislerini eşleştirerek, dizinin ilk elemanındaki veriyi ilk hücreye, ikinci elemanındaki veriyi ikinci hücreye …. şeklinde atıyoruz.

Kodu incelediğimiz zaman, bir UITableViewCell oluşturduğumuzu görürsünüz. Bu hücrenin textLabel’ına yazarlarımızın isimlerini, imageView ına da yazarlarımızın resimlerini attığımızı görürsünüz.

 

ListController.m dosyamızın son hali :

 

Uygulamamızı çalıştırdığımız zamaki ekran görüntüsü:

Table View Ekran Görüntüsü

 

Hücrelere dokunduğumuz zaman aksiyon alma, yeni hücre ekleme, hücreleri düzenleme, hücrelerin sırasını değiştirme, hücreleri silme gibi işlemleri bir sonraki yazımda bulabilirsiniz.

 

Uygulama dosyaları için : https://github.com/ozdemirmuhammed/Table-View

Türk Telekom Şirketinde CRM Çözümlerinde Teknik Analist olarak görev yapmaktayım. Geçmişte ise iOS uygulama geliştirici olarak çalıştım. Bilginin ve paylaşmanın gücüne can-ı gönülden inanırım..