2014-09-27 17 views
8

Tôi có dự án được tạo trong Xcode 5. Cài đặt "Thông tin triển khai" cho biết Thiết bị: Universal nhưng có cài đặt iPhone và iPad riêng biệt và bảng phân cảnh iPhone và iPad tương ứng.Cách di chuyển từ bảng phân cảnh iPhone/iPad sang bảng phân cảnh phổ dụng

Bây giờ tôi đang phát triển cùng một dự án trong Xcode 6 và tôi muốn sử dụng một bảng phân cảnh phổ quát thay vì hai bảng phân cảnh. Tôi chỉ làm việc trên bảng phân cảnh của iPhone và chưa chạm vào iPad. Có thể bỏ qua bảng phân cảnh iPad và chuyển đổi bảng phân cảnh iPhone hiện có thành bảng cốt truyện chính của tôi không?

Trả lời

12

Tôi đã điều chỉnh this tutorialsimilar solution bởi @tharkay để tạo giải pháp này bên dưới.

  • Đổi tên Main_iPhone.storyboard để Main.storyboard
  • Xóa Main_iPad.storyboard
  • *** Nếu bạn muốn sử dụng các kịch bản iPad thay vì iPhone, đổi tên Main_iPad.storyboard để Main.storyboard và xóa các tập tin Main_iPhone.storyboard. Sau đó, bạn sẽ cần đến Trình kiểm tra tệp và nhấp chuột phải vào bảng phân cảnh của bạn, sau đó chọn “Mở dưới dạng mã nguồn”. Điều này sẽ hiển thị tất cả mã XML đó. Thay đổi targetRuntime từ "iOS.CocoaTouch.iPad" để "iOS.CocoaTouch"

Từ:

targetRuntime="iOS.CocoaTouch.iPad" 

tới:

targetRuntime="iOS.CocoaTouch" 
  • Trong hồ sơ dự án, dưới thiết lập chung, chọn Main.storyboard cho cả iPhone và iPad.

enter image description here

  • On Main.storyboard, trên bảng điều khiển bên tay phải chọn biểu tượng Show the File inspector.

enter image description here

  • Đánh dấu vào ô tên Use Size classes

enter image description here

  • XCode sẽ nhắc nhở với một thông báo tương thích Xcode 5, Chọn YES.
  • Biên dịch và chạy.
  • Tất nhiên, tất cả các chế độ xem của bạn sẽ bị rối loạn và bạn sẽ cần phải làm lại bố cục tự động.
0

Tôi tìm thấy một giải pháp đơn giản và nó đã làm việc cho tôi.

Duplicate MainStoryboard của bạn và đổi tên như MainStoryboard_iPad.storyboard từ File đơn

nhấp chuột Bây giờ chuột phải vào tập tin MainStoryboard_iPad của bạn và bấm vào open as a source code.

Bạn sẽ nhận được một tài liệu XML. Bây giờ, hãy thực hiện một số thay đổi trong tệp XML như dưới đây.

Tìm kiếm targetRuntime="iOS.CocoaTouch" và thay đổi nó để targetRuntime="iOS.CocoaTouch.iPad"

Hủy bỏ Các type = "retina4" như Từ <simulatedScreenMetrics key="destination" type="retina4"/> để

<simulatedScreenMetrics key="destination"/> 

Một lần nữa mở file MainStoryboard_iPad trong xây dựng giao diện. Hoan hô ... Bạn sẽ nhận được bảng phân cảnh phiên bản iPad của mình. Bây giờ bạn chỉ cần thay đổi chiều rộng và chiều cao theo bố cục của bạn.

Điều này đã giúp tôi rất nhiều và tiết kiệm rất nhiều thời gian.

:) Chắc chắn nó sẽ giúp bạn!

+1

Cảm ơn bạn đã trả lời. Tôi đã tìm kiếm một cách để chuyển đổi bảng phân cảnh iphone thành một bảng phân cảnh * duy nhất * phổ quát, thay vì có hai bảng phân cảnh. – rmp251

+0

Bạn có tìm thấy giải pháp không? – DogEatDog

+0

@DogEatDog - Vâng, điều này đã giúp tôi rất nhiều và tiết kiệm được 1-2 ngày của tôi. :) Bạn có thể tự mình thử. – DevdDexter

1

Trong xCode 9 Tôi cũng phải thêm useTraitCollections="YES" thuộc tính vào thẻ tài liệu (cùng một nơi có targetRuntime="iOS.CocoaTouch").

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