2012-02-08 7 views
16

Theo dòng hướng dẫn của Apple, màn hình khởi động/hình ảnh khởi động của ứng dụng iPhone phải là hình ảnh tĩnh được hiển thị trước trông giống như màn hình đầu tiên của ứng dụng.Làm cách nào để tạo hình ảnh khởi chạy iPhone dễ dàng?

Dưới đây là một số liên kết đến các tài liệu của Apple về vấn đề này:

1) Khởi động hình ảnh, iOS con người giao diện châm:

https://developer.apple.com/library/ios/#documentation/UserExperience/Conceptual/MobileHIG/IconsImages/IconsImages.html#//apple_ref/doc/uid/TP40006556-CH14-SW5

2) App Launch (Default) hình ảnh, iOS lập trình ứng dụng hướng dẫn :

https://developer.apple.com/library/ios/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/App-RelatedResources/App-RelatedResources.html#//apple_ref/doc/uid/TP40007072-CH6-SW12

Tôi tự hỏi làm thế nào tôi có thể tạo ra hình ảnh khởi động như vậy e dễ dàng. Trong hầu hết các trường hợp, có vẻ như hình ảnh khởi chạy phải là sự kết hợp của thanh trạng thái trống + thanh điều hướng + bảng trống/xem + thanh tab và mỗi hình ảnh phải được hiển thị bằng bảng màu được xác định trước của iOS.

Nhưng tôi không thể tìm thấy bất kỳ tài liệu nào về cách tôi nên làm điều này và không thể tìm thấy bất kỳ mục nhập nào trong Xcode có vẻ liên quan đến điều này. Có công cụ chính thức nào của Apple để hiển thị hình ảnh khởi chạy dễ dàng không? Hoặc làm tất cả các nhà phát triển ứng dụng chỉ cần sử dụng một số điều khiển iPhone mockup + Photoshop để làm điều này?

Mọi trợ giúp đều được đánh giá cao. Cảm ơn.

Trả lời

14

Nó sẽ không có nhiều vấn đề, hãy soạn một tệp XIB tĩnh của màn hình chính (thanh tab trống, thanh điều hướng trống) hoặc bất kỳ thứ gì. Chỉ cần hình nền mà không có bất kỳ yếu tố hoặc nhãn được đặt trên chúng.

Bạn có thể khởi chạy ứng dụng "trống" này trong Trình mô phỏng iPhone có chức năng chụp màn hình tích hợp. Với phần mềm bổ sung như iPhone Simulator Cropper, bạn có thể cắt hình ảnh thành kích thước ưa thích.

Đó sẽ là cách tiếp cận của tôi để thực hiện việc này.

+1

Tôi đã kết thúc với giải pháp tương tự, nhưng tôi đang sử dụng bảng phân cảnh của Xcode 4.2 để có sự khác biệt đôi chút. Xin vui lòng xem câu trả lời của tôi dưới đây.Và nhờ có liên kết tới iPhone Simulator Cropper, tôi chưa bao giờ biết có công cụ như vậy trước đây. – nybon

+0

Đây là những gì tôi làm. Tôi có một dự án trong không gian làm việc của tôi đặc biệt cho việc này và khởi chạy ứng dụng trong trình mô phỏng cho mỗi thiết bị và hướng mà tệp XCAssets cần. Một trong những bắt, mà có vẻ mới với Xcode 7, bạn cần phải quy mô cửa sổ giả lập đến 100% (Command 1) khi bạn chụp ảnh chụp màn hình (Command S) để có được kích thước hình ảnh chính xác. –

1

Giải pháp đơn giản nhất cho nhu cầu của bạn - khởi chạy ứng dụng, chụp ảnh màn hình trạng thái ban đầu (nút home + power trên thiết bị), và thì đấy! Bạn có cho mình một tệp png đẹp chứa trạng thái ứng dụng ban đầu của bạn với bảng màu của Apple khi cần.

+1

Nhưng ảnh chụp màn hình sẽ giống với màn hình ban đầu của ứng dụng và người dùng có thể xem xét ứng dụng được tải đầy đủ nhưng rõ ràng là không và không thể phản hồi hành động của người dùng vào lúc đó. – nybon

+0

Bạn có thể tùy chỉnh khởi chạy ứng dụng đặc biệt để đạt được giao diện này - đảm bảo tất cả các phần tử dữ liệu trống hoặc thậm chí ẩn một số thành phần qua IB – Stavash

+0

cũng vậy, nếu thanh trạng thái xuất hiện, điều đó sẽ không tốt. cần cắt nó ra –

1

Tôi ifdef nguồn dữ liệu của mình trong bản dựng gỡ lỗi để ứng dụng khởi động trống, sau đó tạo và chạy ứng dụng và chụp ảnh màn hình của ứng dụng trống. Để gợi ý rằng người dùng chờ một chút, tôi có thể sử dụng photoshop để che phủ hình ảnh thương hiệu của tôi hoặc một số biểu tượng giật gân ngăn chặn một phần sự kiểm soát rõ ràng nhất. Nếu đó là một ứng dụng giải trí, tôi cũng có thể tạo một bản sao của các biểu tượng biểu trưng đó khi ứng dụng bắt đầu chạy.

7

Vì tôi thấy nó cồng kềnh để xóa nội dung trong tệp nib, tôi sử dụng phương pháp mã.

Mã này khác nhau cho từng dự án. Nhưng bạn sẽ có được ý tưởng.

// uncomment to take a screenshot for the launch image 
//#define SCREENSHOTMODE 

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    /* regular stuff */ 
#ifdef SCREENSHOTMODE 
     self.navigationItem.leftBarButtonItem = nil; 
     self.navigationItem.rightBarButtonItem = nil; 
     self.title = nil; 
     [self deactivateContentForSubviewsInView:self.view]; 
#endif 
} 


#ifdef SCREENSHOTMODE 
- (void)deactivateContentForSubviewsInView:(UIView *)contentView { 
    for (UIView *aView in contentView.subviews) { 
     if ([aView isKindOfClass:[UILabel class]]) { 
      [(UILabel *)aView setText:nil]; 
     } 
     else if ([aView isKindOfClass:[UITableView class]]) { 
      [(UITableView *)aView setDataSource:nil]; 
     } 
     else if ([aView isKindOfClass:[UIToolbar class]]) { 
      [(UIToolbar *)aView setItems:nil]; 
     } 
     else if ([aView isKindOfClass:[UIImageView class]]) { 
      [(UIImageView *)aView setImage:nil]; 
     } 
     else if ([aView isKindOfClass:[UIView class]]) { 
      // i often put views in UIViews to group them 
      [self deactivateContentForSubviewsInView:aView]; 
     } 
    } 
} 
#endif 

Nếu bạn chỉ có một số ít đối tượng, bạn có thể trực tiếp xóa nội dung của phần tử giao diện người dùng. Không có vòng lặp.

+0

Đây là một ý tưởng rất thú vị. Không bao giờ nghĩ về nó trước đây. – nybon

7

Dường như không có công cụ như vậy được xây dựng trong Xcode cho việc này. Tôi đã kết thúc với một phương pháp giống như Sebastian Wramba đã nói ở trên với một chút khác biệt. Tôi đã sử dụng kịch bản Xcode 4.2 cho thiết kế giao diện người dùng của ứng dụng của tôi, đây là các bước của tôi để thực hiện việc này trong Xcode 4.2 kịch bản:

  1. Kéo một bộ điều khiển xem sản phẩm nào từ "thư viện Object" vào kịch bản

  2. Thêm rỗng navigation bar/bảng điểm/tab bar/thành phần khác đến hiện trường mới trên theo của bạn bố cục màn hình ban đầu

  3. Nhấp vào bộ điều khiển chế độ xem trong bảng phân cảnh, trong "Trình kiểm tra thuộc tính" của bộ điều khiển chế độ xem, có hộp kiểm được gọi là "Cảnh ban đầu: Bộ điều khiển chế độ xem ban đầu". Kiểm tra xem.

  4. Khởi chạy ứng dụng trong Xcode, màn hình ban đầu của ứng dụng sẽ được đặt thành màn hình bạn vừa tạo. Chụp ảnh màn hình và sử dụng ảnh đó làm hình ảnh khởi chạy.

  5. Đặt cảnh ban đầu trở lại cảnh ban đầu thực bằng cách chọn hộp kiểm "Cảnh ban đầu".

Tôi vẫn đánh dấu giải pháp của Sebastian Wramba là câu trả lời cho câu hỏi của tôi vì ý tưởng chung là như nhau, chỉ cần tạo giao diện người dùng chuyên dụng trong Xcode cho nó.

+0

+1 Bổ sung tốt vào kịch bản kịch bản! –

0

Dễ dàng hơn thế. Kéo hình ảnh bạn muốn đặt làm màn hình giật gân trên điện thoại của bạn. Lưu hình ảnh vào thư viện ảnh của bạn. Mở hình ảnh trong thư viện ảnh của bạn. Chạm vào hình ảnh để xem toàn màn hình. Chụp màn hình. Gửi hình ảnh đó, qua email tới máy tính của bạn. Thay đổi kết thúc của tập tin từ PNG sang png, nó hút tôi biết :) Thêm hình ảnh vào khu vực Launch Image của bạn. Walla! ;)

0

Bạn có thể sử dụng XIB màn hình khởi chạy iOS 8 để tạo hình ảnh khởi chạy tĩnh bằng trình mô phỏng, mà bạn có thể phải làm nếu bạn đang hỗ trợ iOS 7 trở xuống.

  1. Tạo màn hình khởi chạy XIB.
  2. Chọn chính dự án trong điều hướng dự án của Xcode và sau đó dưới Chung> Thông tin triển khai thay đổi trường giao diện chính thành màn hình khởi chạy XIB của bạn. Bước này sẽ rời khỏi màn hình khởi chạy XIB trong Trình mô phỏng để bạn có thời gian chụp ảnh màn hình ở bước 4.
  3. Khởi động ứng dụng của bạn trong Trình mô phỏng.
  4. Khi màn hình khởi chạy của bạn xuất hiện trong Trình mô phỏng, hãy chọn Tệp> Lưu ảnh chụp màn hình.

Lặp lại quy trình này cho từng thiết bị bạn cần hỗ trợ. Bạn có thể phải sử dụng trình chỉnh sửa hình ảnh để xóa thanh trạng thái khỏi ảnh chụp màn hình.

0

Nếu bạn cần màn hình khởi chạy đơn giản với thanh điều hướng và thanh tab chẳng hạn, đề xuất của tôi là sử dụng tệp khởi chạy. Trong iOS 8 trở lên, bạn có thể tạo tệp XIB hoặc bảng phân cảnh thay vì hình ảnh khởi chạy tĩnh.

Bạn có thể đọc thêm về điều đó trong liên kết tiếp theo: https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/MobileHIG/LaunchImages.html

0

tôi Đặt tất cả các bên trên. tuy nhiên nó không hoạt động khi gỡ lỗi lần nữa. Tôi xóa ứng dụng khỏi trình mô phỏng và iPhone và làm việc ngay lập tức