web analytics

[iOS] การใช้ UITabBarController เบื้องต้น

cover

สวัสดีครับ บทความนี้เป็นบทความขณะหัดเขียน iOS ของผม ซึ่งผมกำลังหัดเขียน Swift ใน Xcode เพื่อทำแอป iPhone และเพื่อสร้างความเข้าใจมากขึ้น ผมก็จะมาเขียนเรื่องต่างๆที่ได้เรียนรู้ เป็นการบันทึกความรู้และแชร์ความรู้ไปในตัว และวันนี้ได้ลองเล่น UITabBarController ก็เลยมาเขียนบล็อกไว้อ่าน หวังว่าจะมีประโยชน์กับผู้เรียนมือใหม่ด้วยกันครับ

 

วาง Tab Bar Controller

ลาก Tab Bar Controller ออกมาแปะใน storyboard

screen-shot-2018-07-03-at-8-39-10-pm

 

ลากมาแปะ โดยมันจะสร้างหน้ามาให้ 2 หน้าโดยอัตโนมัติ

screen-shot-2018-07-03-at-1-45-46-pm

 

เพิ่มหน้า

เพิ่ม ViewController อีกหน้า โดยการลาก  ViewController มาวาง
แล้วลากเส้น (กด Ctrl ค้าง) จาก TabController ไปยัง View ใหม่ เลือก view controller

6pdunjbojv

 

จากนั้นจะได้เส้น (Seque) เชื่อมกัน
ต่อมาก็วาง  Label ในแต่ละหน้าให้ดูต่างกัน

screen-shot-2018-07-03-at-2-02-36-pm

 

ลองรันเพ่อดูว่าแท็บทำงานได้มัย

f93rmo07pb

 

การย้ายแท็บ

วิธีย้ายแท็บง่ายมาก แค่ลากแท็บใน storyboard ได้เลย

wo9bwve353

 

เปลี่ยนแท็บด้วย Swift

ทีนี้มาลองเล่น คือทำให้กดปุ่มหน้านึงแล้วเปลี่ยนแท็บไปอีกหน้า
สร้างไฟล์ Class

screen-shot-2018-07-03-at-3-46-28-pm

 

Subclass เลือกเป็น UIViewController

screen-shot-2018-07-03-at-3-48-06-pm
ลาก Button มาวาง สำหรับกดแล้วให้ไปอีกหน้า

screen-shot-2018-07-03-at-3-45-54-pm

 

จากนั้นก็กำหนด Custom class ให้กับหน้าแท็บ

screen-shot-2018-07-03-at-3-48-40-pm

 

กำหนด  Action Outlet ให้กับ Button
โดยสามารถเรียกใช้ tabBarController ได้เลย แล้วกำหนด selectedIndex

class FirstTabViewController: UIViewController {

    @IBAction func onGotoSecondClicked(_ sender: Any) {
        self.tabBarController?.selectedIndex = 1
    }
    
    ..
}

 

ลองรัน

ccwvf5yz4n

 

ไอคอน

เตรียมไอคอน 3 ขนาด

@1x : about 25 x 25
@2x : about 50 x 50
@3x : about 75 x 75

ic_overview1x ic_overview2x ic_overview3x

screen-shot-2018-07-03-at-11-02-34-pm

 

copy รูปมาใส่ในโปรเจค แล้วก็กำหนดไอคอนใน image ของ Tab

 

screen-shot-2018-07-03-at-10-59-26-pm

ดูรายละเอียด Guidelines ได้ที่
https://developer.apple.com/design/human-interface-guidelines/ios/icons-and-images/custom-icons/

 

เล่น Tab Bar คร่าวๆเท่านี้ก่อนนะ หวังว่าจะมีประโยชน์กับผู้อ่านนะครับ