อะไรคือความแตกต่างระหว่างไฟล์. xib และ. storyboard


159

บางคนสามารถอธิบายด้วยคำง่าย ๆ ได้ว่าข้อแตกต่างระหว่าง. xib กับ. storyboard หรือไม่


ฉันไม่รู้ว่าไทม์ไลน์คืออะไรและฉันคิดว่ามันไม่มีส่วนเกี่ยวข้องกับไทม์ไลน์ของ Facebook ที่แท็กอ้างถึง
iandotkelly

1
คำถามสองข้อนี้แยกกันโดยสิ้นเชิงจอร์จไหม นอกจากนี้เมื่อคุณพูด.timelineคุณกำลังพูดถึงรุ่นของไฟล์ที่บันทึกไว้ ?
Michael Dautermann

คุณมีคำถามสองข้อแยกกันที่นี่ดังนั้นฉันจึงกลั่นเป็นคำถามเดียว มีการถามคำถามแรกสองสามครั้งที่นี่เช่นในไม่พบแอปพลิเคชันที่ใช้หน้าต่างบน XCodeดังนั้นฉันจึงลบส่วนนั้นเพื่อมุ่งเน้นไปที่คำถามสตอรีบอร์ด
Brad Larson

1
ดูเพิ่มเติมคำถามนี้คล้ายกันเมื่อใช้ Storyboard และเมื่อใช้ XIBs มีคำตอบโดยละเอียดที่ยอดเยี่ยมรวมถึงการอัปเดตสำหรับ iOS 8 และ Xcode 6
Basil Bourque

คำตอบ:


115

Apple แนะนำแนวคิด"storyboarding"ใน iOS5 SDK เพื่อให้ง่ายขึ้นและจัดการหน้าจอในแอปของคุณได้ดีขึ้น คุณยังสามารถใช้.xibวิธีการพัฒนา

กระดานเรื่องราวก่อนแต่ละเรื่องUIViewControllerมีส่วนเกี่ยวข้อง.xibด้วย Storyboardบรรลุสองสิ่ง:

  1. .storyboardเป็นไฟล์เดียวสำหรับทุกหน้าจอของคุณในแอพและจะแสดงการไหลของหน้าจอ คุณสามารถเพิ่มsegues/ เปลี่ยนระหว่างหน้าจอด้วยวิธีนี้ ดังนั้นสิ่งนี้จะลดรหัสสำเร็จรูปที่จำเป็นสำหรับการจัดการหลายหน้าจอ

  2. ย่อขนาดไฟล์โดยรวมให้น้อยที่สุดในแอพ

คุณสามารถหลีกเลี่ยงการใช้Storyboardในขณะที่สร้างโครงการใหม่โดยไม่เลือกตัวเลือก "ใช้สตอรีบอร์ด"

คุณสามารถอ้างอิงบทแนะนำนี้เพื่อเริ่มต้น


5
แล้วสตอรีบอร์ดแทนความต้องการไฟล์. xib หรือไม่
William Sham

16
เป็นการดีใช่ 1 .storyboard file = 'n' ไม่ ของไฟล์. xib
Sagar Hatekar

2
แต่สำหรับการเปลี่ยนระหว่างมุมมองล่ะ ฉันรู้ว่ามีการแยกย่อย แต่มีเพียงไม่กี่รูปแบบที่แตกต่างกันของการแยกย่อย ฉันคิดว่าคุณยังคงสามารถเปลี่ยนระหว่างมุมมองแบบเดียวกับก่อนหน้านี้ แต่ถ้าคุณไม่ได้ใช้งานซีจีมันจะดูแปลกในกระดานเรื่องราวใช่ไหม คุณคิดอย่างไรกับเรื่องนั้น?
dontangg

1
ในกรณีนี้ฉันเชื่อว่า NavigationControllers จะเข้ามาเล่น
Sagar Hatekar

ความจริงสนุก: ฉันใช้โพสต์นี้เพื่ออวด (จำกัด )
เครดิต

22

ใช่คุณยังสามารถสร้างแอปพลิเคชันที่ใช้ Window สำหรับ iOS 5 หากคุณใช้เทมเพลต "โครงการที่ว่างเปล่า" คุณจะเห็นว่ามีการสร้างหน้าต่างสำหรับคุณในตัวแทนแอพ จากตรงนั้นคุณสามารถเพิ่มไฟล์ XIB ได้ตามปกติหรือสร้าง Storyboard ใหม่

ฉันสมมติว่าคุณหมายถึง "กระดานเรื่องราว" มากกว่า "ไทม์ไลน์" บอร์ดโครงเรื่องช่วยให้คุณสามารถแมปมุมมองภาพมุมมองทั้งหมดในแอปพลิเคชันของคุณและความสัมพันธ์ หากคุณเพิ่งเริ่มออกกับสตอรี่บอร์ดมีการแนะนำให้กับสตอรี่บอร์ดใน WWDC 2011 วิดีโอที่นี่ หลักสูตร2011 Stanford iOSบน iTunes-U เป็น iOS 5 เฉพาะและครอบคลุมกระดานเรื่องราวและอีกมากมาย


15

กระดานเรื่องราวเปรียบเสมือนผืนผ้าใบที่คุณใส่ไฟล์. xib ของคุณทั้งหมด คุณไม่มี. xibs อีกต่อไปคุณเพียงแค่มี View Controllers บนผืนผ้าใบของคุณโดยตรง


2
อาจเป็นคำตอบที่มีประโยชน์ที่สุด
Munib

9

กระดานเรื่องราวเป็นคุณลักษณะใหม่ที่มีให้ตั้งแต่เปิดตัว Xcode 4.2 มันเป็นวิธีการใหม่ที่สมบูรณ์แบบสำหรับนักพัฒนา iOS ในการสร้างและออกแบบส่วนต่อประสานกับผู้ใช้ ก่อนการเปิดตัว Storyboard เป็นเรื่องยากสำหรับผู้เริ่มต้นในการสร้างการนำทาง (และแท็บ) ส่วนต่อประสาน ทุกอินเตอร์เฟสถูกเก็บไว้ในไฟล์ xib แยกต่างหาก ยิ่งไปกว่านั้นคุณต้องเขียนโค้ดเพื่อเชื่อมโยงส่วนต่อประสานทั้งหมดเข้าด้วยกันและอธิบายว่าระบบนำทางทำงานอย่างไร

ด้วยสตอรี่บอร์ดหน้าจอทั้งหมดจะถูกเก็บไว้ในไฟล์เดียว สิ่งนี้จะช่วยให้คุณเห็นภาพรวมเกี่ยวกับแนวคิดของการแสดงด้วยภาพสำหรับแอพและแสดงให้คุณเห็นว่าหน้าจอเชื่อมต่อกันอย่างไร Xcode มีเครื่องมือแก้ไขในตัวเพื่อจัดวางเค้าโครงกระดานเรื่องราว คุณสามารถกำหนดช่วงการเปลี่ยนภาพ (รู้จักกันในชื่อ segues) ระหว่างหน้าจอต่างๆโดยใช้จุดและคลิก นี่ไม่ได้หมายความว่าคุณไม่จำเป็นต้องเขียนโค้ดสำหรับส่วนต่อประสานผู้ใช้ แต่สตอรีบอร์ดลดจำนวนรหัสที่คุณต้องเขียนลงอย่างมาก

ที่มา: http://www.appcoda.com/use-storyboards-to-build-navigation-controller-and-table-view/


2

XIB:

1) ไฟล์ Xib ใช้ร่วมกับ UIView เดียว

2) การใช้เลย์เอาต์อัตโนมัติที่ซับซ้อนใน xib นั้นยากมาก

3) มันใช้หน่วยความจำมากขึ้นเมื่อเทียบกับกระดานเรื่องราวและเงียบช้า

4) เข้ากันได้กับ iOS5 และต่อไป

5) คุณสามารถทำการแปลเป็นภาษาท้องถิ่นและประเทศต่าง ๆ โดยใช้ XIB ที่แตกต่างกัน

6) มันยากที่จะใช้ Xib เดียวกันเพื่อรองรับอุปกรณ์หลายเครื่อง

สตอรี่บอร์ด

1) คุณสามารถจัดเค้าโครงฉากทั้งหมดของคุณเช่น View Controllers, Nav Controllers, TabBar Controllers และอื่น ๆ ในกระดานเรื่องราวเดียว

2) คุณสามารถใช้เค้าโครงอัตโนมัติได้อย่างง่ายดายซึ่งกำหนดความสัมพันธ์ทางคณิตศาสตร์ระหว่างองค์ประกอบที่กำหนดตำแหน่งและขนาด

3) มักจะเร็วและจัดสรรหน่วยความจำน้อย

4) มันเข้ากันไม่ได้ก่อน iOS 5

5) เซลล์ "ไดนามิก" และ "ต้นแบบ" สามารถใช้งานได้ง่าย

6) สตอรีบอร์ดที่ดีที่สุดที่จะใช้สำหรับแอพที่มีหน้าจอขนาดเล็กถึงขนาดกลาง

คำตอบที่ดีที่สุดที่ฉันเคยเห็น: Xib Vs Storyboard ใน iOS


0

XIB และ Storyboard ใช้สำหรับสร้างอินเตอร์เฟสสำหรับผู้ใช้

ประเด็นสำคัญอย่างหนึ่งคือ xibs ใช้สำหรับสร้างมุมมองเดียว (มีเจ้าของไฟล์เดียวที่ด้านบนของไฟล์ xib) แต่ในกรณีสำหรับ viewcontroller สามารถเพิ่มหลายหน้าจอและตรวจสอบการไหลได้ (มี เจ้าของไฟล์แยกต่างหาก)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.