- ตัวควบคุมการนำทาง (Navigation Controllers)
- Segues
- ตัวควบคุมแถบแท็บ (Tab Bar Controllers)
- ตัวควบคุมมุมมองแยก (Split View Controllers)
- ช่วงการเปลี่ยนภาพ (Transitions) และภาพเคลื่อนไหว (Animations) ที่กำหนดเอง
- รวมเทคนิคการนำทาง (Combining Navigation Techniques)
- การจัดการ Universal Links และ Deep Links
การนำทางที่ราบรื่น (Seamless Navigation) เป็นองค์ประกอบสำคัญของประสบการณ์ผู้ใช้ที่ยอดเยี่ยมในการทำแอพสร้างแอพ iOS ใดๆ โครงสร้างการนำทางที่ออกแบบมาอย่างดีช่วยให้ผู้ใช้เข้าถึงส่วนต่างๆ ของแอพได้อย่างรวดเร็วและเป็นธรรมชาติ ในบทความนี้ เราจะสำรวจเทคนิคการนำทางและการกำหนดเส้นทางต่างๆ ในการทำแอพสร้างแอพ iOS ซึ่งครอบคลุมตัวควบคุมการนำทาง segues ตัวควบคุมแถบแท็บ ตัวควบคุมมุมมองแยก และการเปลี่ยนแบบกำหนดเอง
1. ตัวควบคุมการนำทาง (Navigation Controllers)
UINavigationController จัดการกองควบคุมมุมมอง ทำให้ผู้ใช้สามารถนำทางผ่านเนื้อหาแบบลำดับชั้นได้ ตัวควบคุมการนำทางแสดงแถบการนำทางที่ด้านบน แสดงบริบทและอนุญาตให้ผู้ใช้ย้อนกลับไปยังหน้าจอก่อนหน้า
เมื่อต้องการใช้ตัวควบคุมการนำทาง ให้ทำตามขั้นตอนเหล่านี้:
- ใน Interface Builder ให้ฝังตัวควบคุมมุมมองเริ่มต้นของคุณใน UINavigationController
- สร้างตัวควบคุมมุมมองใหม่สำหรับลำดับชั้นของแอปแต่ละระดับ
- เพิ่มส่วน “Show” หรือ “Show Detail” ระหว่างตัวควบคุมมุมมองเพื่อพุชและป๊อปตัวควบคุมมุมมองบนกองการนำทาง
2. Segues
Segues กำหนดการเปลี่ยนแปลงระหว่างตัวควบคุมมุมมองสองตัว สามารถสร้างได้ใน Interface Builder โดยควบคุมการลากจากวัตถุต้นทาง (เช่น ปุ่ม) ไปยังตัวควบคุมมุมมองปลายทาง
segues ทั่วไปมีสี่ประเภท:
- Show: ดันตัวควบคุมมุมมองใหม่ไปยังกองการนำทาง
- Show Detail: แทนที่ตัวควบคุมมุมมองรายละเอียดในตัวควบคุมมุมมองแยก
- Present Modally: นำเสนอตัวควบคุมมุมมองแบบโมดูลาร์ ครอบคลุมหน้าจอก่อนหน้า
- Popover Presentation: นำเสนอตัวควบคุมมุมมองในป๊อปโอเวอร์บน iPad
ในการส่งผ่านข้อมูลระหว่างตัวควบคุมมุมมอง ให้แทนที่เมธอด “prepare(for:sender:)” ในตัวควบคุมมุมมองต้นทางและตั้งค่าคุณสมบัติบนตัวควบคุมมุมมองปลายทางโดยใช้คุณสมบัติ destinationViewController ของ segue
3. ตัวควบคุมแถบแท็บ (Tab Bar Controllers)
UITabBarController ใช้เพื่อจัดระเบียบการทำแอพสร้างแอพ iOS ลงในส่วนหรือพื้นที่การทำงานต่างๆ จะแสดงแถบแท็บที่ด้านล่างของหน้าจอพร้อมไอคอนและชื่อที่แสดงถึงแต่ละส่วน ผู้ใช้สามารถสลับระหว่างส่วนต่างๆ ได้อย่างรวดเร็วโดยแตะที่แท็บ
เมื่อต้องการใช้ตัวควบคุมแถบแท็บ ให้ทำตามขั้นตอนเหล่านี้:
- ใน Interface Builder ให้สร้าง UITabBarController ใหม่
- เพิ่มตัวควบคุมมุมมองสำหรับแต่ละแท็บในแอปของคุณ
- ตั้งค่าคุณสมบัติ “tabBarItem” ของตัวควบคุมมุมมองแต่ละตัวด้วยไอคอนและชื่อที่เหมาะสม
- กำหนดความสัมพันธ์ระหว่างตัวควบคุมแถบแท็บและตัวควบคุมมุมมองแต่ละตัวโดยใช้ส่วน “viewControllers”
4. ตัวควบคุมมุมมองแยก (Split View Controllers)
UISplitViewController เหมาะสำหรับทำแอพสร้างแอพ iOS iPad และอุปกรณ์ขนาดใหญ่ ซึ่งอินเทอร์เฟซรายละเอียดหลักสามารถใช้พื้นที่หน้าจอได้อย่างมีประสิทธิภาพมากขึ้น มันจัดการตัวควบคุมมุมมองย่อยสองตัว: ตัวควบคุมมุมมองหลัก (หรือหลัก) และตัวควบคุมมุมมองรายละเอียด (หรือรอง) โดยทั่วไปตัวควบคุมมุมมองหลักจะแสดงรายการของรายการ ในขณะที่ตัวควบคุมมุมมองรายละเอียดจะแสดงเนื้อหาของรายการที่เลือก
เมื่อต้องการใช้ตัวควบคุมมุมมองแยก ให้ทำตามขั้นตอนเหล่านี้:
- ใน Interface Builder ให้สร้าง UISplitViewController ใหม่
- ตั้งค่าคุณสมบัติ “preferredDisplayMode” เพื่อกำหนดลักษณะของมุมมองแยก (เช่น .automatic, .primaryOverlay, .primaryHidden หรือ .allVisible)
- เพิ่มตัวควบคุมการนำทางสำหรับตัวควบคุมมุมมองหลักและมุมมองรายละเอียดแต่ละตัว
- กำหนดความสัมพันธ์ระหว่างตัวควบคุมมุมมองแยกและตัวควบคุมมุมมองย่อยโดยใช้ส่วนต่อท้าย “master” และ “detail”
5. ช่วงการเปลี่ยนภาพ (Transitions) และภาพเคลื่อนไหว (Animations) ที่กำหนดเอง
หากต้องการสร้างประสบการณ์ผู้ใช้ที่ไม่เหมือนใคร คุณสามารถใช้การเปลี่ยนแบบกำหนดเองระหว่างตัวควบคุมมุมมอง ใช้โปรโตคอล UIViewControllerAnimatedTransitioning เพื่อกำหนดแอนิเมชัน และโปรโตคอล UIViewControllerTransitioningDelegate เพื่อจัดเตรียมออบเจกต์อนิเมเตอร์แบบกำหนดเอง
นี่คือภาพรวมโดยย่อของขั้นตอน:
- สร้างคลาสแอนิเมเตอร์ที่สอดคล้องกับ UIViewControllerAnimatedTransitioning โดยใช้เมธอด “transitionDuration(using :)” และ “animateTransition(using :)”
- ในตัวควบคุมมุมมองต้นฉบับ ให้ปฏิบัติตาม UIViewControllerTransitioningDelegate และใช้วิธีการที่เหมาะสมเพื่อจัดเตรียมออบเจกต์อนิเมเตอร์แบบกำหนดเอง
- ตั้งค่าคุณสมบัติ “transitioningDelegate” ของตัวควบคุมมุมมองต้นทางเป็น self และคุณสมบัติ “modalPresentationStyle” เป็น .custom
- นำเสนอตัวควบคุมมุมมองปลายทางโดยใช้ “ปัจจุบัน (_:animated:completion:)”
6. รวมเทคนิคการนำทาง (Combining Navigation Techniques)
ในการทำแอพสร้างแอพ iOS คุณจะต้องผสมผสานเทคนิคการนำทางต่าง ๆ เข้าด้วยกันเพื่อสร้างอินเทอร์เฟซผู้ใช้ที่ราบรื่นและใช้งานง่าย ตัวอย่างเช่น คุณสามารถใช้ตัวควบคุมแถบแท็บเพื่อจัดระเบียบการทำแอพสร้างแอพ iOS ของคุณเป็นส่วนๆ และภายในแต่ละส่วน คุณสามารถใช้ตัวควบคุมการนำทางเพื่อจัดการลำดับชั้นของตัวควบคุมมุมมอง
ในการรวมเทคนิคการนำทาง:
- ฝังตัวควบคุมมุมมองเริ่มต้นของแต่ละส่วนในตัวควบคุมการนำทาง
- เชื่อมต่อตัวควบคุมการนำทางเข้ากับตัวควบคุมแถบแท็บโดยใช้ส่วนต่อประสาน “viewControllers”
7. การจัดการ Universal Links และ Deep Links
ลิงก์สากลและลิงก์ในรายละเอียดช่วยให้การทำแอพสร้างแอพ iOS ของคุณตอบสนองต่อ URL ที่ระบุ ทำให้ผู้ใช้สามารถนำทางไปยังเนื้อหาเฉพาะภายในแอปของคุณได้โดยตรงจากแหล่งภายนอก เช่น เว็บไซต์หรือแอปอื่นๆ
ในการจัดการลิงก์สากลและลิงก์ในรายละเอียด:
- ลงทะเบียนรูปแบบ URL และโดเมนที่เกี่ยวข้องในการตั้งค่า Info.plist และความสามารถของแอป
- ใช้เมธอด “application(_:continue:restorationHandler:)” ใน AppDelegate หรือ SceneDelegate เพื่อจัดการลิงก์ขาเข้า
- แยกวิเคราะห์ URL ขาเข้าและนำทางไปยังตัวควบคุมมุมมองที่เหมาะสมหรือเนื้อหาภายในแอปของคุณ
การทำความเข้าใจและเชี่ยวชาญการนำทางและการกำหนดเส้นทางในการทำแอพสร้างแอพ iOS เป็นสิ่งสำคัญสำหรับการสร้างประสบการณ์การใช้งานที่ราบรื่น ด้วยการใช้ตัวควบคุมการนำทาง segues ตัวควบคุมแถบแท็บ ตัวควบคุมมุมมองแยก การเปลี่ยนแบบกำหนดเอง และการจัดการลิงก์สากลและลิงก์ในรายละเอียด คุณสามารถทำแอพสร้างแอพ iOS ที่ออกแบบมาอย่างดีและใช้งานง่าย ทดลองใช้เทคนิคเหล่านี้และค้นหาชุดค่าผสมที่ดีที่สุดที่เหมาะกับความต้องการของการทำแอพสร้างแอพ iOS ของคุณ และปรับปรุงประสบการณ์ผู้ใช้โดยรวม