2011-12-08 40 views
137

Ai đó có thể giải thích một cách đơn giản sự khác biệt giữa .xib và .storyboard?Sự khác nhau giữa tệp .xib và .storyboard là gì?

+0

Tôi không biết khái niệm .timeline là gì và tôi nghi ngờ nó không liên quan gì đến dòng thời gian trên Facebook mà thẻ đề cập đến – iandotkelly

+1

là hai câu hỏi hoàn toàn riêng biệt này, George? Ngoài ra, khi bạn nói '.timeline', bạn đang nói về [phiên bản của một tệp đã lưu] (http://developer.apple.com/library/ios/#recipes/xcode_help-versioneditor/VersionTimeline.html)? –

+0

Bạn có hai câu hỏi riêng biệt ở đây, vì vậy tôi đã tinh chỉnh nó thành một câu hỏi. Câu hỏi đầu tiên đã được hỏi một vài lần quanh đây, chẳng hạn như trong [Không thể tìm thấy ứng dụng dựa trên cửa sổ trên XCode] (http://stackoverflow.com/questions/8005546/cannot-find-window-based-application-on- xcode), vì vậy tôi đã xóa phần đó để tập trung vào câu hỏi trong Bảng phân cảnh. –

Trả lời

101

Apple đã giới thiệu khái niệm về "storyboarding" trong iOS5 SDK để đơn giản hóa và quản lý màn hình tốt hơn trong ứng dụng của bạn. Bạn vẫn có thể sử dụng cách phát triển .xib.

Bảng phân cảnh trước, mỗi UIViewController có một liên kết .xib cùng với nó. Storyboard đạt được hai điều:

  1. .storyboard về bản chất là một file duy nhất cho tất cả các màn hình của bạn trong ứng dụng và nó cho thấy dòng chảy của màn hình. Bạn có thể thêm segues/chuyển tiếp giữa các màn hình theo cách này. Vì vậy, điều này giảm thiểu mã boilerplate cần thiết để quản lý nhiều màn hình.

  2. Giảm thiểu tổng số tệp trong ứng dụng.

Bạn có thể tránh sử dụng Storyboard trong khi tạo dự án mới bằng cách bỏ chọn tùy chọn "Sử dụng bảng phân cảnh".

Bạn có thể tham khảo tutorial để bắt đầu.

+5

Vì vậy, việc tạo bảng phân cảnh có thay thế cho các tệp .xib không? –

+11

Lý tưởng nhất là, Có. 1 .storyboard file = 'n' không. tệp .xib. –

+2

Thế còn về chuyển tiếp giữa các chế độ xem thì sao?Tôi biết rằng có những phân đoạn, nhưng chỉ có một vài phong cách khác nhau của sự phân biệt. Tôi giả sử rằng bạn vẫn có thể chuyển đổi giữa các chế độ xem theo cùng một cách như trước đây, nhưng nếu bạn không sử dụng phân đoạn, nó sẽ trông kỳ lạ trong bảng phân cảnh, phải không? suy nghĩ của bạn về điều đó là gì? – dontangg

22

Có, bạn vẫn có thể tạo ứng dụng dựa trên cửa sổ cho iOS 5. Nếu bạn sử dụng mẫu "dự án trống", bạn sẽ thấy một cửa sổ được tạo cho bạn trong ủy nhiệm ứng dụng. Từ đó bạn có thể thêm các tệp XIB như bình thường hoặc bảng phân cảnh mới.

Tôi giả sử bạn có nghĩa là "bảng phân cảnh" thay vì "dòng thời gian". Bảng phân cảnh cho phép bạn lập bản đồ, trực quan, tất cả các chế độ xem trong ứng dụng của bạn và cách chúng tương tác với nhau. Nếu bạn chỉ mới bắt đầu với bảng phân cảnh, có phần giới thiệu về bảng phân cảnh trong video của WWDC 2011 here. Các 2011 Stanford iOS course trên iTunes-U cũng là iOS 5 cụ thể và bao gồm storyboards và nhiều hơn nữa.

11

Bảng phân cảnh giống như canvas nơi bạn đặt tất cả các tệp .xib của mình. Bạn không còn bất kỳ tệp .xibs nào, bạn chỉ có Chế độ xem bộ điều khiển trực tiếp trên canvas của mình.

+1

Có thể là câu trả lời hữu ích nhất. – Munib

8

bảng phân cảnh là tính năng mới khả dụng kể từ khi phát hành Xcode 4.2. Nó cung cấp một cách hoàn toàn mới cho nhà phát triển iOS để tạo và thiết kế giao diện người dùng . Trước khi giới thiệu Storyboard, đặc biệt là khó cho người mới bắt đầu để tạo giao diện điều hướng (và tab). Mọi giao diện được lưu trữ trong một tệp xib riêng biệt. Trên hết, bạn phải viết mã để liên kết tất cả các giao diện với nhau và mô tả cách hoạt động của các công cụ điều hướng .

Với bảng phân cảnh, tất cả các màn hình được lưu trữ trong một tệp. Điều này cung cấp cho bạn một tổng quan khái niệm về biểu diễn trực quan cho ứng dụng và cho bạn biết cách màn hình được kết nối. Xcode cung cấp trình chỉnh sửa được tích hợp sẵn để bố cục Bảng phân cảnh. Bạn có thể xác định quá trình chuyển đổi (được gọi là dưới dạng phân đoạn) giữa các màn hình khác nhau chỉ đơn giản bằng cách sử dụng điểm và nhấp. Điều này không có nghĩa là bạn không cần phải viết mã cho giao diện người dùng. Nhưng Bảng phân cảnh giảm đáng kể số lượng mã bạn cần viết.

Nguồn: http://www.appcoda.com/use-storyboards-to-build-navigation-controller-and-table-view/

1

XIB:

1) file xib được sử dụng với một UIView duy nhất.

2) Rất khó để triển khai bố cục tự động phức tạp trong xib.

3) Nó sử dụng nhiều bộ nhớ hơn so với bảng phân cảnh và chậm yên tĩnh.

4) Nó là tương thích từ iOS5 trở đi

5) Bạn có thể làm tin cục bộ cho các ngôn ngữ khác nhau và các nước sử dụng XIBs khác nhau.

6) Rất khó để sử dụng cùng một Xib để hỗ trợ nhiều thiết bị.

Storyboard

1) Bạn có thể bố trí tất cả các cảnh của bạn như Xem kiểm soát, điều khiển Nav, Bộ xử lý TabBar, vv trong một kịch bản duy nhất.

2) Bạn có thể sử dụng Bố cục tự động dễ dàng xác định mối quan hệ toán học giữa các yếu tố xác định vị trí và kích thước của chúng.

3) Thường nhanh và phân bổ ít bộ nhớ hơn.

4) Nó không tương thích trước iOS 5.

5) Các ô "Động" và "Nguyên mẫu" có thể được sử dụng dễ dàng.

6) Bảng phân cảnh phù hợp nhất để sử dụng cho các ứng dụng có số lượng màn hình nhỏ đến trung bình.

câu trả lời tốt nhất mà tôi đã thấy: Xib Vs Storyboard in iOS

0

XIB và Storyboard được sử dụng để tạo giao diện cho người dùng.

Một điểm quan trọng là xibs được sử dụng để tạo một chế độ xem (nó có một chủ sở hữu tệp ở đầu tệp xib), nhưng trong trường hợp cho bộ điều khiển xem, có thể thêm nhiều màn hình và luồng của nó cũng có thể được giám sát (nó có các chủ sở hữu tệp riêng).

Các vấn đề liên quan