2011-09-08 24 views
8

Tôi đã tạo một ứng dụng có chức năng nhất định và giao diện đồ họa nhất định.XCode 4: Nhiều mục tiêu, nhiều tài nguyên Thư mục với hình ảnh cùng tên để sử dụng với một Xib chia sẻ?

Ví dụ: ô xem bảng tùy chỉnh được tải từ tệp Xib và có UIImageView làm hình nền, được tải bằng hình ảnh Màu hồng ("customcell.png") từ nhóm tài nguyên.

Bây giờ, tôi đã sao chép Mục tiêu ban đầu để tạo phiên bản màu xanh của ứng dụng. Ngoài ra, Mục tiêu mới đang sử dụng tệp Info.plist của riêng nó với số nhận dạng gói của riêng nó.

Tôi muốn UIImageView bên trong tệp Xib sử dụng cùng tên tệp ("customcell.png"), nhưng hãy dùng phiên bản màu xanh của customcell.png nếu Target màu xanh được xây dựng.

Tôi biết bạn không thể có tệp có cùng tên trong dự án, ngay cả khi bạn đặt nó trong một nhóm (thư mục màu vàng), vì đó chỉ là một thư mục hợp lý.

Vì vậy, tôi đã tạo 2 thư mục màu xanh (được gọi là "xanh dương" và "màu hồng"), mỗi thư mục được liên kết với đúng Mục tiêu. Tôi đã đặt phiên bản màu xanh lam của "customcell.png" trong thư mục "màu xanh" và phiên bản màu hồng "customcell.png" trong thư mục "màu hồng".

Tôi đã xóa bản gốc "customcell.png" khỏi dự án, chỉ để lại 2 bản sao nằm trong các thư mục mới.

Trong Trình tạo giao diện, UIImageView đã trống (vì tôi đã xóa tệp hình ảnh gốc), vì vậy tôi đã chọn lại "customcell.png" từ danh sách thả xuống. Nó chỉ hiển thị 1 tập tin của tên đó (không phải 2), và nó là màu xanh (không biết tại sao).

Tuy nhiên, khi tôi xây dựng với bất kỳ mục tiêu, tôi nhận được một UIImageView trống và một cảnh báo:

Không thể nạp "customcell.png" hình ảnh tham chiếu từ một ngòi trong gói với định danh " com.myapp.blueversion"

(hoặc pinkversion)

Vì vậy, về cơ bản câu hỏi của tôi là, làm thế nào tôi có thể sử dụng hình ảnh khác nhau có cùng tên, liên quan đến các mục tiêu khác nhau, nhưng có 1 tệp Xib tải chúng một cách thích hợp?

Cảm ơn bạn rất nhiều!

+0

Bạn có nhớ gán chúng cho các mục tiêu khác nhau của chúng không? –

+0

Có (Tôi đã gán các thư mục màu xanh khi tạo. Tôi dường như không thể gán các tệp riêng lẻ bên trong) ... Có vẻ như, IB không thể thực sự đến các thư mục màu xanh đó. Tôi quản lý để làm điều đó với #IFDEF bên trong lớp CustomeCell, chỉ vào thư mục màu xanh thích hợp, nhưng điều đó có nghĩa là rất nhiều cáC#IFDEF này là cần thiết, và tôi đã hy vọng một cách để làm điều đó thông qua IB thay vì thêm nhiều NẾU ... Nếu có ai biết cách nào, nó sẽ được đánh giá cao. Cảm ơn. –

Trả lời

2

Sự cố bạn đang gặp phải là bạn đang cố gắng sử dụng các thư mục màu xanh dương như thể chúng là các thư mục hệ thống tệp bình thường. Các thư mục màu xanh thực sự chỉ là các nhóm tệp cho tổ chức trong IDE và không đại diện cho một hệ thống phân cấp thư mục 'dưới mui xe'. Hãy xem cách nó hoạt động bằng cách nhấp chuột phải vào một số hình ảnh để xem chúng trong Finder và bạn sẽ nhận thấy rằng các tệp trong 2 thư mục nhóm màu xanh dương khác nhau thực sự nằm trong cùng một thư mục theo mặc định.

Làm thế nào để sử dụng một trong xib tham khảo những hình ảnh có tên tương tự cho nhiều mục tiêu:

  1. Trong Finder, tạo một thư mục mới trong thư mục cùng nơi appdelegate được tìm thấy, có thể đặt tên cho nó sau khi mục tiêu của bạn .
  2. Lưu trữ tất cả hình ảnh của bạn cho mục tiêu đó trong thư mục đó.
  3. Nhấp chuột phải vào nhóm/thư mục chính của dự án ở ngăn trên cùng bên trái và sử dụng "Thêm tệp vào 'XcodeProjectName' ...".
  4. Trong ngăn trên xuất hiện, tìm và chọn thư mục bạn vừa tạo trên hệ thống tệp.
  5. Bạn có thể bỏ chọn hộp Đích hoặc không được chọn vì các tệp đã tồn tại ở vị trí bạn đã chỉ định.
  6. Giữ 'Tạo nhóm cho bất kỳ thư mục được thêm nào' được chọn để tạo thư mục nhóm màu xanh lam.
  7. Đảm bảo mục tiêu của bạn được chọn.

Chỉ cần lặp lại quy trình này cho từng mục tiêu.

Khi bạn xem xib trong Xcode, nó sẽ luôn hiển thị một phiên bản của hình ảnh, nhưng nó sẽ chính xác khi bạn chạy ứng dụng.

0

Tôi đã gặp sự cố với các thư mục màu xanh, tôi không chắc chắn cách chúng được cho là hoạt động!

tôi sử dụng mục tiêu riêng biệt cho một phiên bản miễn phí và trả tiền của ứng dụng của tôi, và đây là cách tôi tách các tập tin biểu tượng khác nhau (phiền hà vì họ phải có những cái tên nhất định)

hệ thống tập tin của tôi trông như thế này:

Tài

IconsPaid

icon.png

Biểu tượng @ 2x.png

vv

IconsFree

icon.png

vv

tôi sau đó kéo các thư mục IconsPaid và IconsFree để XCode và gán nội dung vào các mục tiêu liên quan

2

Bạn có thể thử hai bản sao của .xib, mỗi thành viên có mục tiêu khác nhau. .m và .h có thể là thành viên của cả hai mục tiêu, nếu bạn muốn (chỉ có vậy .xib bị trùng lặp).

Tôi vừa đăng một similiar question có thể giúp bạn với điều này.

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