2015-10-02 15 views
6

Tôi đã tạo một dự án mới trong Xcode 7 bằng Swift. Tôi nhận thấy rằng màn hình khởi chạy được lưu trữ trong tệp bảng phân cảnh.Hoạt ảnh tùy chỉnh trong Màn hình khởi chạy

Vì vậy, tôi nghĩ rằng nếu nó có thể được tùy chỉnh bằng cách giới thiệu nó đến CustomLauchScreenViewController của tôi. Tuy nhiên, khi tôi đặt tên lớp tùy chỉnh trong LaunchScreen.storyboard, nó ném một lỗi:

Launch screens may not set custom classnames

Vì vậy, cách tốt nhất để tùy chỉnh LaunchScreen là gì? Tôi dự định sử dụng LaunchScreen để tải một số dữ liệu trước khi khởi chạy màn hình chính.

+1

giống như trò chơi vua (Kẹo, Soda, Digger, v.v.) sử dụng hình ảnh để giật gân (khởi chạy Hình ảnh). Khi bạn có tải điều khiển một VC có công việc tùy chỉnh của bạn (hoạt ảnh hoặc hình ảnh phụ) và cuối cùng tải ứng dụng của bạn. –

Trả lời

10

Đó không phải là mục đích của màn hình khởi chạy. Những gì bạn có thể làm tuy nhiên nếu có ban đầu của bạn viewController 'hành động' như là một màn hình khởi động. Chỉ cần có nó hiển thị hình ảnh giống như hình ảnh khởi động và làm những gì bạn cần làm trong đó. Khi bạn đã hoàn tất, hãy chuyển đến chế độ xem chính của bạnController từ đó.

+0

Vì vậy, màn hình khởi chạy không được sử dụng để chuẩn bị một số dữ liệu mặc định trước khi khởi chạy màn hình chính? Nếu vậy, thuật ngữ "màn hình khởi động" là khá vô ích. – chipbk10

+2

Vâng, theo một nghĩa nào đó; nhưng không phải cho mã của chúng tôi, cho mã khởi động của Apple. Nếu chúng ta muốn có mã của chúng tôi làm việc thiết lập trước khi ứng dụng chính bắt đầu; chúng tôi cần làm như tôi đã đề xuất ở trên. – Tander

+0

Nếu vậy, tôi nên xóa tất cả các tệp đã tạo, thuộc tính liên quan đến "màn hình khởi chạy" trong dự án của tôi. – chipbk10

2

Màn hình khởi chạy được hiển thị trước khi ứng dụng của bạn bắt đầu thực hiện để cung cấp chuyển tiếp từ Springboard sang ứng dụng của bạn trong khi đang tải. Theo nguyên tắc giao diện của Apple,

A launch file (or image) provides a simple placeholder image that iOS displays when your app starts up. The placeholder image gives users the impression that your app is fast and responsive because it appears instantly and is quickly replaced by the first screen of your app.

Để đạt được chuyển đổi, hãy xóa lớp học khỏi LaunchScreen.storyboard và đặt nó tương tự như chuyển tiếp tải 0%. Tạo bộ điều khiển mới trong số Main.storyboard và đặt CustomLauchScreenViewController tại đó và gán điều khiển này làm bộ điều khiển chế độ xem ban đầu. Đặt CustomLauchScreenViewController làm bộ điều khiển chế độ xem gốc trong ứng dụng của bạn. Khi màn hình khởi động sẽ được thay thế bởi bộ điều khiển này, quá trình chuyển đổi quá trơn tru để cảm nhận bất kỳ sự khác biệt nào. Sau khi tải dữ liệu, thay đổi bộ điều khiển chế độ xem gốc của bạn thành Chế độ xem điều khiển bắt buộc.

+0

Tôi đặt CustomLaunchScreenViewController trong bảng phân cảnh và gây ra lỗi. Nếu bạn đọc một câu trả lời của Tander, màn hình khởi động không được sử dụng để tải dữ liệu. Nếu tải dữ liệu mất nhiều thời gian hơn thời gian chuyển đổi, điều gì sẽ xảy ra? – chipbk10

+0

Bạn không thể đặt bất kỳ lớp nào trong LaunchScreen.storyboard. Đặt bộ điều khiển tương tự như bộ điều khiển xem ban đầu trong Main.storyboard. Tôi đã cập nhật câu trả lời. –

+0

nếu màn hình khởi chạy chỉ để chuyển đổi suôn sẻ, vì vậy tôi không cần nó. Tôi sẽ tạo một UIViewController khác trong bảng phân cảnh cho điều thiết lập trước khi chuyển sang bộ điều khiển xem chính. Tôi sẽ xóa tất cả những điều thừa về "màn hình khởi động". Cảm ơn. – chipbk10

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