Khởi chạy bảng phân cảnh màn hình không hiển thị hình ảnh


162

Tôi đang cố gắng để hình ảnh hiển thị dưới dạng màn hình khởi chạy từ tệp Launch Screen.storyboard của mình, tuy nhiên hình ảnh không bao giờ hiển thị. Tôi có nhãn hiển thị tốt, nhưng hình ảnh không xuất hiện.

Đây là giao diện của màn hình khởi chạy trong tệp Launch Screen.storyboard: nhập mô tả hình ảnh ở đây

Tuy nhiên, khi tôi chạy ứng dụng trên trình giả lập (cũng như trên thiết bị vật lý) thì đây là những gì hiển thị:

nhập mô tả hình ảnh ở đây

Như bạn có thể thấy, nhãn "Kiểm tra" hiển thị tốt, tuy nhiên hình ảnh không hiển thị. Tôi thực sự không chắc tại sao điều này lại xảy ra và dường như không có gì tôi cố gắng làm việc. Nếu bất cứ ai có bất kỳ ý tưởng về cách khắc phục điều này, nó sẽ được đánh giá rất cao.


1
hãy chắc chắn rằng hình ảnh của bạn ở định dạng png thích hợp . không jpg nếu có.
Utkarsh Singh


3
Thực tế là nhiều câu trả lời hoàn toàn khác nhau có rất nhiều câu trả lời rất, rất đáng buồn.
Daniel Springer

1
Có thể là nếu hình ảnh quá lớn và thời gian tải của nó mất quá nhiều thì nó sẽ bị loại khỏi màn hình khởi chạy?
Lubbo

@Lubbo Tôi nghĩ có một cái gì đó cho lý thuyết đó. Tôi có một chế độ xem khởi chạy có hình ảnh lớn và nhỏ, hình nhỏ tải tốt và hình lớn thì không. Hình ảnh nhỏ nằm trong xcassets và hình lớn tôi đã thử cả trong và ngoài tệp tài sản.
Tom Bates

Câu trả lời:


327

Sau khi khởi động lại Xcode, dọn dẹp bản dựng và một số đề xuất khác về SO về vấn đề này. Điều thực sự đã sửa nó cho tôi là một khởi động lại cứng của thiết bị. (Tôi đã lãng phí hơn một giờ cho việc này)

Tôi cho rằng nó chỉ để chứng minh rằng câu nói cũ đã tắt và bật lại vẫn đúng với các tiện ích mới nhất!

Cách khởi động lại iPhone XS hoặc iPhone XS Max

  1. Bấm nhanh và nhả nút Tăng âm lượng
  2. Bấm nhanh và nhả nút Giảm âm lượng
  3. Nhấn và giữ nút Side cho đến khi logo Apple xuất hiện

30
Người này đúng. Chỉ cần thực hiện một khởi động lại cứng của thiết bị đã sửa nó cho tôi!
Lance Samaria

4
Có vấn đề về hình ảnh không cập nhật sau khi ghi đè lên tài sản. Cảm ơn về mẹo, hoàn toàn thoát khỏi trình giả lập và khởi động lại nó đã cập nhật bản xem trước. Rất kỳ quặc mà dường như không có gì khác để thực hiện các mẹo.
Kilian

3
Cảm ơn. Nó cũng hoạt động cho các mô phỏng. Sau khi khởi động lại trình giả lập, hình ảnh trong Launch Scree.storyboard cuối cùng cũng xuất hiện. Đây chắc chắn là một lỗi của iOS.
Vince Yuan

4
Cùng một vấn đề ở đây. Ngay cả tôi đã thay đổi hình ảnh trên màn hình khởi động trong trình giả lập, hình ảnh cũ bằng cách nào đó vẫn được lưu trong bộ nhớ cache trên điện thoại của tôi. Đã thử xây dựng sạch, thay đổi tên tệp, thay đổi hình ảnh, không hoạt động. Tôi phải tắt và bật điện thoại. Điều đó đã sửa nó.
Paul

3
Đây là năm 2020 và điều này vẫn còn tiết kiệm trong ngày của tôi! Cảm ơn!
Bezaleel

91

Tôi đã loay hoay với điều này trong nhiều giờ. Nhưng tôi đã tìm thấy giải pháp bây giờ. Bạn cần thêm hình ảnh vào dự án của bạn và cả tài sản.xcassets thông qua kéo và thả.


8
Đây chính là nó. Hình ảnh phải có trong cả dự án và tài sản. Đây giống như một trò chơi của whack-a-mol. Mẹo nào sẽ khắc phục nó? không ai biết.
FranticRock

ai biết rằng bạn cũng phải thêm hình ảnh trong dự án
Abdul Waheed

2
Thêm hình ảnh vào dự án đã khắc phục sự cố của tôi :)
Sneha

3
Cảm ơn bạn, điều này đã sắp xếp nó cho tôi. Để thêm vào điều này, trước đây tôi đã đặt tên cho các hình ảnh với kích thước (launch280.png, launch560.png, launch840.png) và cũng đã thêm một tài sản vào Assets.xcassets với tên tài sản là launch. Nhưng nó vẫn không hoạt động. Tôi đã phải đổi tên các tệp hình ảnh thành launch.png, launch@2x.png và launch@3x.png, thêm chúng vào dự án, thêm chúng dưới dạng một tài sản được gọi launchvà sau đó nó hoạt động. Cảm ơn Apple đã làm cho những điều đơn giản nhất trở nên phức tạp không cần thiết ¬_¬
mashers

2
Aaaand Tôi ở đây lần thứ hai 3 năm sau ... Đó là tháng 4 năm 2020, XCode vẫn có lỗi này ... Thật tuyệt ...
FranticRock

42

Có cùng một vấn đề, việc thêm hình ảnh vào "Giai đoạn xây dựng -> Sao chép tài nguyên gói" đã sửa nó cho tôi.


6
Đây là những gì tôi cần. Hình ảnh phải nằm trong gói chính không có trong tệp tài sản.
Meonardo

Đây là những gì đã làm cho tôi.
Chris

Đã sửa nó cho tôi, Cảm ơn!
adam eliezerov

28

Thực hiện theo các bước dưới đây,

  1. Xóa ứng dụng khỏi thiết bị
  2. Thiết bị khởi động lại
  3. Xây dựng lại

Nếu không hoạt động, xóa dữ liệu dẫn xuất. Tùy chọn Xcode-> Locationtab-> Dữ liệu được tạo. Sau đó làm theo các bước trên.


25

Nó xảy ra với tôi và khiến tôi phát điên, ngoài việc khiến tôi mất vài phút cho đến khi tôi nhận ra điều đó.

Vì vậy, như đã nói trước đây:

  1. Nhập hình ảnh mong muốn vào dự án Xcode của bạn (chỉ cần kéo và thả nó)
  2. Thay đổi các ràng buộc và căn chỉnh của nó
  3. Cập nhật khung giải quyết các sự cố Bố cục tự động
  4. Trong menu tab Trình kiểm tra thuộc tính (thường ở menu góc bên phải xCode), trên Chế độ xem hình ảnh> Hình ảnh, hãy xóa phần mở rộng hình ảnh (.png hoặc .jpg) - đó là mẹo

Trên màn hình thiết kế, nó sẽ không xuất hiện, nhưng khi bạn chạy ứng dụng của mình, nó sẽ được hiển thị.

Tôi hy vọng nó có thể giúp!


1
đã làm cho tôi! trước khi thử giải pháp của bạn, cách duy nhất tôi thấy nó hiển thị là khởi động lại điện thoại của tôi! Cảm ơn bạn
Filipe Sá

1
Cảm ơn bạn! Không biết làm thế nào bạn tìm thấy nó, nhưng nó hoạt động!
Stas Volskiy

Đúng vậy !! Mẹo nhỏ là xóa phần mở rộng hình ảnh khỏi tệp hình ảnh .png! Các tập tin .jpg không hoạt động nên tôi phải chuyển đổi chúng thành .png trước! Cảm ơn rất nhiều Jhnosore!
ActiveA

24

Rất bực bội. Giải pháp cuối cùng đã có hiệu quả:

  1. Làm khó khởi động lại thiết bị

  2. Xóa ứng dụng

  3. Cài đặt ứng dụng từ Xcode


17

Cuối cùng, khởi động lại điện thoại làm việc cho tôi !!

Tôi đã dành hàng giờ về vấn đề này. Đã thử thay đổi tên hình ảnh, xóa toàn bộ tài sản hình ảnh, sửa đổi thông tin.plist, khởi động lại Xcode và thậm chí đã thử đặt tất cả các thuộc tính của hình ảnh (bạn có thể biết tôi đã tuyệt vọng đến mức nào).


Điều này không cung cấp một câu trả lời cho câu hỏi. Một khi bạn có đủ danh tiếng, bạn sẽ có thể nhận xét về bất kỳ bài đăng nào ; thay vào đó, cung cấp câu trả lời không yêu cầu làm rõ từ người hỏi . - Từ đánh giá
Adam Richardson

Tôi xin lỗi @AdamRichardson nó cũng cung cấp câu trả lời và một câu trả lời đúng và đây là trường hợp của tôi. Tôi chỉ cần RESTART điện thoại / giả lập.
Kegham K.

Tôi đã dành 16 giờ để cố gắng giải quyết vấn đề này và cuối cùng khởi động lại điện thoại đã tạo ra mánh khóe.
Krishnan

2
Tôi cá rằng ai đó ở Apple có thể khắc phục điều này phải suy nghĩ: "Ồ, họ chỉ cần khởi động lại điện thoại của họ - nó không giống như điều này ảnh hưởng đến các bản dựng Phát hành hoặc bất cứ điều gì. Chúng tôi có thể để lại nhiệm vụ này sau."
dineshar camera

Cuối cùng, nó đã được khởi động lại điện thoại đã khắc phục sự cố
Taylor Maxwell

12

Vấn đề này liên quan đến Assets.xcassets để khắc phục, bạn phải thêm hình ảnh dưới dạng tài nguyên nhưng không có trong thư mục xcassets và sau đó sẽ hoạt động tốt


2
Đây là giải pháp duy nhất làm việc cho đến nay. Khởi động lại xcode, xóa dữ liệu dẫn xuất, thay đổi tên hình ảnh không hoạt động. Tôi không khuyên bạn nên khởi động lại thiết bị như một giải pháp cho bất kỳ ai
NightFury

lỗi này cũng cũ như việc tạo ra xcassets. Tôi đã điền nó vào thư mục của tôi "công cụ táo sẽ không bao giờ giải quyết".
Vịt

8

Trong trường hợp của tôi, việc đặt lại nội dung và cài đặt cho trình giả lập đã khắc phục sự cố.


7

Tôi phải đối mặt với cùng một vấn đề.

  1. Thêm một hình ảnh mới vào XcodeAssets.
  2. Thêm hình ảnh vào hình ảnh.
  3. Thêm chế độ xem hình ảnh để khởi chạy màn hình và đặt hình ảnh của bạn dưới dạng hình ảnh
  4. Trên trình kiểm tra thuộc tính của Imageview, bỏ chọn 'xóa bối cảnh đồ họa'
  5. Làm sạch thư mục xây dựng và chạy lại.

nhập mô tả hình ảnh ở đây


5

Có vẻ như có một số vấn đề với bộ nhớ đệm tài nguyên trong xCode. Có cùng một vấn đề, khởi động lại xCode và mọi thứ hoạt động tốt sau đó.


5

Khởi động lại thiết bị của bạn và xóa dữ liệu xuất phát từ mã x


3

Sau khi thử mọi thứ trên một số luồng StackOverflow, đây là những gì làm việc cho tôi:

  • Sử dụng .png
  • Không bao gồm nó trong danh mục Tài sản của bạn. Thêm nó vào hệ thống phân cấp dự án của bạn trực tiếp, như bạn sẽ thêm bất kỳ tệp nguồn nào.
  • Trong chế độ xem hình ảnh, tải hình ảnh bao gồm cả phần mở rộng của nó. Ví dụ: launch_app_image.png

(Có thể phải xóa sản phẩm hoặc dữ liệu dẫn xuất để cập nhật, nhưng tôi không phải làm vậy)


2020 và điều này vẫn còn có liên quan, đôi khi việc thay đổi hình ảnh thành một PNG mới bên trong danh mục khi nó hoạt động sẽ dừng nó. Không chắc chắn nếu đó là một mức độ nén nhưng các tệp hình ảnh đơn giản hoạt động.
Mitchell Currie

3

Tôi gặp vấn đề đó sau khi thêm hình ảnh vào dự án và bắn hạ thiết bị, vấn đề đã được giải quyết


3

Đã thay đổi hình nền của màn hình giật gân và hình ảnh mới không hiển thị (phản ứng dự án gốc).

Theo câu trả lời từ người khác.

Tôi đã làm tất cả những điều dưới đây và nó đã được sửa:

  • Xây dựng sạch sẽ.
  • Xóa ứng dụng khỏi trình giả lập
  • Thoát khỏi giả lập
  • Khởi động lại XCode
  • Chạy lại ứng dụng

3

Bây giờ có thiết bị võng mạc có sẵn và tôi bỏ qua @1xhình ảnh trong Assets.xcassets.

Trong trường hợp của tôi, tôi có logo ứng dụng trong màn hình Splash không hiển thị khi tôi chạy ứng dụng.

Sau khi lãng phí quá nhiều thời gian, tôi nhận ra rằng tôi chỉ cung cấp @2x@3xhình ảnh cho hình ảnh logo đó.

Vấn đề này được giải quyết bằng cách thêm @1xphiên bản của hình ảnh đó.


1
bạn đã cứu ngày của tôi!
kambala

2

Bạn phải đảm bảo rằng tên tệp của hình ảnh của bạn có định dạng như .png hoặc .jpg ở cuối nếu không nó sẽ không hoạt động. Ngoài ra, trước khi thêm hình ảnh của bạn, bạn phải đảm bảo rằng tệp hình ảnh nằm trong thư mục "Assets.xcassets" trong dự án của bạn. Điều này có thể được thực hiện với một thao tác kéo và thả đơn giản. Ngoài ra, hãy đảm bảo khi bạn đã thêm hình ảnh của mình vào bảng phân cảnh của mình rằng tên hình ảnh ở trên cùng bên trái cũng khớp với tên tệp hình ảnh thực. Tôi cũng sẽ cố gắng nhìn vào các ràng buộc. Hi vọng điêu nay co ich. Chúc may mắn với ứng dụng của bạn.


2

Tôi đã dành hàng giờ cho vấn đề này trước khi nhận ra sai lầm của mình. Khi bạn thêm một hình ảnh vào UIImageView, nó sẽ chỉ sử dụng tên của hình ảnh. Nếu hình ảnh của bạn nằm trong một thư mục khác với bảng phân cảnh của bạn, chúng sẽ hiển thị dưới dạng xcode nhưng không hiển thị khi chạy ứng dụng. Bạn phải thêm tiền tố đường dẫn tệp thích hợp, ví dụ: images / image.png. Bây giờ nó sẽ xuất hiện dưới dạng dấu hỏi màu xanh trong xcode, nhưng nó sẽ hoạt động trong ứng dụng.


2

Chỉ cần thêm 0,02 đô la của tôi vào câu hỏi này; Tôi đã giải quyết vấn đề này bằng cách sử dụng hình ảnh PNG thay vì hình ảnh JPG / JPEG.

Sau khi chuyển đổi hình ảnh thành PNG và crunch chúng để giảm kích thước một chút, mọi thứ đều hoạt động tốt.


2

Sau khi đầu tư rất nhiều thời gian, tôi đã có được giải pháp: -

Step 1:- Quit Xcode
Step 2:- Delete the app from device/simulator
Step 3:- Restart your device (if you are using simulator then you have to quit simulator)
Step 4:- Clear all derived data 
Step 5:- Clear Bin
Step 6:- Open Xcode and relaunch the app, it will work 

nó làm việc cho tôi cảm ơn
Dilip Tiwari

@DilipTiwari chào mừng bạn :)
Vipul Kumar

1

Tôi phải đối mặt với cùng một vấn đề. Đã thử các giải pháp khác nhau cho điều đó nhưng không có gì chứng tỏ là hữu ích. Sau đó tôi nhận ra rằng hình ảnh không chỉ hiển thị khi tôi trực tiếp cài đặt ứng dụng vào thiết bị và ứng dụng vẫn được kết nối với xcode. Nếu tôi ngắt kết nối nó và sau đó mở ứng dụng, hình ảnh sẽ hiển thị như mong đợi. Nó có thể là một lỗi xcode.


1

Tôi đã thử làm sạch dự án, loại bỏ png, loại bỏ các ràng buộc không làm việc cho tôi.

Tôi chỉ tạo thêm một bản sao của hình ảnh và đổi tên bản sao sau đó xóa hình ảnh cũ và thêm hình ảnh mới (Tương tự, với tên đã thay đổi) tôi chỉ đưa hình ảnh đó và nó hoạt động với tôi.

Ngoài ra tôi không sử dụng Assets.xcassets, sử dụng hình ảnh trong một thư mục.


1

Tôi đã thử rất nhiều thứ với điều này (chỉ riêng chủ đề này dường như có một triệu ý tưởng và một nửa trong số đó là xung đột). Vấn đề đối với tôi là khi tôi làm những việc như khởi động lại thiết bị và Xcode, nó sẽ khiến hình ảnh hiển thị trong một vài phiên của ứng dụng, và sau đó nó sẽ dừng lại (tôi không biết tại sao, nhưng WOW thật khó chịu) .

Sau vô số giờ, tôi thấy rằng câu trả lời của AG trong chủ đề này là câu trả lời đúng. Một điều tôi đã làm sai là tôi đã tạo một bộ ảnh mới trong xcassets, nhưng sau đó tôi vẫn sử dụng tên của hình ảnh trong UIImageView bên trong bảng phân cảnh thay vì sử dụng tên của bộ ảnh.

Để làm rõ, những gì bạn sẽ làm là tạo một bộ ảnh mới và đặt tên cho nó là "Launch-Defaults", sau đó thêm hình ảnh của bạn vào đó. Sau đó, trong UIImageView bên trong bảng phân cảnh, bạn sử dụng hình ảnh "Khởi chạy mặc định" (không bao gồm tiện ích mở rộng vì không có phần mở rộng nào vì đây là bộ ảnh).

Khi bạn làm tất cả điều đó, hình ảnh sẽ thực sự xuất hiện chính xác bên trong bảng phân cảnh của bạn. Một số người nói rằng hình ảnh sẽ hiển thị trống nếu bạn không sử dụng tiện ích mở rộng (.jpg hoặc .png), nhưng tôi cho rằng đó là vì họ không sử dụng tên của bộ ảnh. Những người khác nói rằng bạn cần sử dụng một tiện ích mở rộng như .png hoặc .jpg, nhưng điều quan trọng là tạo bộ ảnh bên trong xcassets và sau đó sử dụng bộ ảnh đó bên trong bảng phân cảnh. Khi được thực hiện chính xác, sẽ không có sự vui nhộn như hình ảnh không hiển thị hoặc Màn hình khởi chạy chỉ hoạt động một số thời gian (yêu cầu khởi động lại).


1

Trong trường hợp cụ thể của tôi, màn hình giật gân hoạt động cho trình giả lập và các thiết bị khác, nhưng đã ngừng hoạt động cho một thiết bị cụ thể. Điều này khiến tôi tin rằng đó là một số dữ liệu lưu trữ được lưu bởi xcode (v10 và iPhone 7 v12.1).

Tôi đã xóa dữ liệu dẫn xuất tại: ~/Library/Developer/Xcode/DerivedData/ chỉ làm trống nội dung thư mục, không xóa thư mục. Sau đó tôi đã khởi động lại mac và iPhone và dọn dẹp và xây dựng lại dự án, và bây giờ nó đang hiển thị.

Tôi không chắc liệu tất cả những điều này có cần thiết hay không, nhưng tôi không muốn lãng phí thêm thời gian để thu hẹp nó, vì vậy phương pháp búa tạ ở trên đã có hiệu quả với tôi. Nhưng tất nhiên nó luôn phụ thuộc vào tình huống cụ thể của bạn - của tôi là thiết bị cụ thể; đối với những người khác, nó có thể là hình ảnh thực tế hoặc bố trí màn hình khởi chạy, vv


1

Vấn đề của tôi.

Lý do: Tôi đã đổi tên các hình ảnh sau khi kéo vào Xcode. Giải pháp: Không đổi tên hình ảnh sau khi kéo vào Xcode. Nó tạo ra các vấn đề để hiểu Xcode. Đổi tên hình ảnh trước khi kéo / thêm vào Xcode.

Hy vọng nó giúp được bạn!


0

Tôi chỉ cần tìm ra điều này. Hình ảnh khởi chạy của tôi không hiển thị, tôi nhận được màn hình trắng khi khởi chạy trên thiết bị (iPhone 6, 7+) hoặc testFlight. Khắc phục: Đổi tên "Landing_screen.png" thành "Landing_screen" để xóa phần .png. Biểu tượng hình ảnh trong Xcode đã thay đổi thành biểu tượng màu trắng và trong bảng phân cảnh màn hình khởi chạy, hình ảnh xuất hiện dưới dạng dấu hỏi. Hình ảnh Launch bây giờ xuất hiện và không phải màn hình trắng. Cài đặt của tôi: Tôi đang sử dụng Swift 3.1 với Xcode 8.3.1. Trong LaunchScreen.storyboard tôi đã thêm một chế độ xem hình ảnh đơn giản và kéo dài hình ảnh để phù hợp với bộ điều khiển xem. Tôi đặt các ràng buộc bố cục tự động Trên / Dưới / Hàng đầu / Không gian lưu trữ thành giám sát thành 0 - xem hình ảnh bên dưới:

nhập mô tả hình ảnh ở đây


0

Trong trường hợp của tôi, hóa ra tôi có một số khung nhìn vẫn được liên kết với bộ điều khiển khung nhìn mà giờ chỉ là một bộ điều khiển khung nhìn cơ bản. Tuy nhiên, nếu tôi kiểm soát nhấp chuột vào chế độ xem, tôi có thể thấy các cửa hàng có cảnh báo, tuy nhiên, các cảnh báo không xuất hiện trong Xcode, đó là lý do tại sao tôi gặp khó khăn khi tìm thấy chúng.


0

Đây có thể là sự cố bộ đệm trong XCode / iOS, nhưng có một cách khắc phục đơn giản: Chỉ cần đổi tên tệp bên trong Assets.xcassets, để bộ đệm được tạo lại.


0

Lỗi đầu tiên của tôi là, tôi đã tạo một bảng .storyboard bình thường, đổi tên nó và định nghĩa nó là màn hình khởi chạy trong cài đặt dự án. Tôi trường hợp này tôi đã có vấn đề hình ảnh. Có vẻ như một số cài đặt bị thiếu trong trường hợp này, vì vậy tôi chỉ cần tạo một tệp mới qua tệp-> mới và chọn trực tiếp "Màn hình khởi chạy" và sau đó nó hoạt động.

Ngoài ra, tôi đã nghĩ rằng, các ràng buộc bố cục không được hỗ trợ trong màn hình khởi chạy vì một số lý do. Có thể nó là như vậy ngay từ đầu, không chắc chắn, nhưng bây giờ các ràng buộc nên hoạt động.

Có lẽ điều này giúp bất cứ ai.


0

Tôi đã gặp phải vấn đề tương tự khi sử dụng bảng phân cảnh để hiển thị màn hình giật gân và sau khi nghiên cứu tôi đã phát hiện ra rằng hình ảnh mà tôi đã đặt trong bảng phân cảnh có kích thước khác nhau và tôi đã đặt chế độ xem hình ảnh lớn hơn kích thước thực tế của hình ảnh.

Vì vậy, giải pháp tôi đã tìm thấy là đặt kích thước nội dung của chế độ xem hình ảnh là phù hợp với khía cạnh hoặc đặt kích thước xem hình ảnh là kích thước hình ảnh.

Giống như nếu hình ảnh của bạn kích thước @ 1x là 200X200 so với chế độ xem hình ảnh nên là 200X200 so với bạn sẽ giải quyết vấn đề này.

Vì nếu bạn đặt kích thước chế độ xem hình ảnh lớn hơn hình ảnh thì hình ảnh sẽ bị bỏ đói và điều này không được phép.

Nếu bạn vẫn còn nghi ngờ, vui lòng bình luận tại đây và hỏi

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.