UIKit: UISegmentedControl

UISegmentedControl elemanı sayesinde uygulamanıza bölümler ekleyerek bu bölümlere özel aksiyonlar gerçekleştirebilirsiniz.

Can Balkaya
TurkishKit
4 min readJun 29, 2020

--

Merhaba TurkishKit okuyucuları!👋 Uygulamanızda birden fazla duruma göre farklı aksiyonlar almak istiyorsanız, UISegmentedControl elemanı sizin için iyi bir seçenek olabilir. İşte bu yazımızda UISegmentedControl elemanını nasıl kullanabileceğimizi öğreneceğiz. Hazırsanız hiç vakit kaybetmeden başlayalım! 🦾

WWDC 2020 Haftasını Keşfedin!

TurkishKit Medium sayfamızda WWDC 2020 konferansı boyunca tanıtılan bütün yenilikleri blog serisi haline getirdik.

Sizde WWDC 2020 haftası boyunca tanıtılan yenilikleri keşfetmek istiyorsanız aşağıdaki linke tıklamanız yeterli:

Projenizi Oluşturun

Her şeyden önce yeni bir Xcode projesi oluşturalım. Bunun için “Create a new Xcode project” tuşuna tıklayalım.

Sonrasında projemizin nasıl olması gerektiğini belirlemek için “Single View App” şablonunu seçelim.

Son olarak proje ayarlarımızı yapalım. (“User Interface” bölümünün “Storyboard” olarak seçmeniz gerekiyor.)

Projemizi oluşturduktan sonra ViewController.swift dosyasına gidelim. Artık kod yazmaya başlayabiliriz!

Arayüz Elemanlarını Oluşturma

Bu makalemizde bir UISegmentedControl elemanınındaki durumların hangisinin seçili olduğuna göre farklı aksiyonlar alacağımız bir proje yapacağız; UISegmentedControl elemanımızda toplam beş durum olacak. Bu durumların değişimine göre uygulamanın içerisindeki yazı değişecektir.

Bunları yapabilmemiz için tabii ki de uygulamamızın içerisinde bulunacak arayüz elemanlarını oluşturmamız gerekmektedir. Bunun için Main.storyboard sayfasına gidin. Sayfa açıldıktan sonra UIViewController elemanınız içerisine bir UILabel elemanı yerleştirin.

Sıra bu UILabel elemanını konumlandırmakta. Elemanının üzerine iki parmağınızla basılı tutarak tıklayın ve elemanın dışında bir yere imlecinizi götürün. Ortaya çıkan bölümdeki “Center Horizontally in Safe Area” ve “Center Vertically in Safe Area” sekmelerine tıklayın. (İkisine birlikte tıklamak için cmd tuşuna basılı tutun.) Böylece elemanınız uygulamanın tam merkezinde hizalanacaktır.

Şimdi sıra UISegmentedControl elemanını uygulamamıza eklemekte. Bunun için yine UILabel elemanını eklediğimiz gibi UIViewController elemanımızın içerisine elemanımızı ekliyoruz.

İki elemanımız arasında mesafe koymak için UISegmentedControl elemanımıza tıklayıp “Add Constraints” butonuna tıklayalım. Bu butona tıkladıktan sonra önümüze çıkan bölümden elemanımızın yukarısında 50 piksellik bir boşluk olacağını belirtin.

Sonrasında elemanımıza iki parmakla basılı tutarak tıklayalım ve elemanımızın dışına bir yere sürükleyip bırakalım. Ortaya çıkan bölümden “Center Horizontally in Safe Area” sekmesine tıklayın.

Artık projemizi kodlamaya başlayabiliriz!

Kodlama

İlk önce arayüz elemanlarını yazacağımız kodlar ile kullanmak için bu arayüz elemanlarını kod sayfasına bağlamalıyız.

Bunun için sağ üstteki “Add Editor on Right” tuşuna tıklayalım. Göreceğiniz üzere, Main.storyboard sayfası sağ tarafa geçecektir. Sol taraftaki sayfayı ViewController.swift sayfası olarak ayarlayın.

UILabel elemanını sol taraftaki sayfaya bağlamak için UILabel elemanına çift tıklayın ve ikinci sayfaya sürükleyin. İmleci bıraktığınızda bir bölüm karşınıza gelecektir. Bu bölümde elemanınızın ismini girin. “Connect” tuşuna bastığınızda elemanınızı sayfaya bağlamış olacaksınız.

UISegmentedControl elemanını da aynı şekilde çift tıklayacağız ama diğerinden farklı olarak viewDidLoad fonksiyonunun altında tanımlayacağız. (Bunun sebebi, bu eleman ile bir aksiyon alacak olmamızdır.)

Şimdi, bu fonksiyonun içerisinde, elemanın aldığı farklı durumlara karşı farklı aksiyonlar almak için bir switch yapısı yazalım.

Uygulama ilk açıldığı zaman UISegmentedControl elemanımız ilk durum seçili olsa bile daha çalışmadığı için ekranda “Label” yazacaktır. (Bunu görmek için uygulamayı çalıştırabilirsiniz.) Bunun olmaması için viewDidLoad fonksiyonunun içerisinde UILabel elemanımızın yazısını “iPhone” olarak ayarlayalım.

Artık projemiz hazır! Artık tek yapmanız gereken projenizi çalıştırmak ve yaptıklarınızı deneyimlemek. 😎

Bu makalemizde yapmış olduğumuz projemize buradan ulaşabilirsiniz:

Bir makalemizin daha sonuna geldik. Bu makalemizde UISegmentedControl elemanının ne olduğunu ve nasıl kullanılabileceğini öğrendik. Keyifli kodlamalar! 🧠

Bizi daha yakından takip etmek istiyorsanız, sosyal medya hesaplarımıza aşağıdan ulaşabilirsiniz!

Twitter | Instagram | Facebook

--

--