2012-10-11 34 views
6

Đối với màn hình tải và màn hình giật của ứng dụng, tôi đã sử dụng hai phương pháp khác nhau để hiển thị hình ảnh iPhone 3, iPhone 4 và iPhone 5 một cách thích hợp.iOS Colorwithpattern - sử dụng hình ảnh iPhone5 tùy chỉnh

Đối với màn hình tải, chỉ cần thêm -568h @ 2x vào hình ảnh của bạn là đủ để hỗ trợ iPhone5.

Đối với màn hình giật gân, tôi đã sử dụng một loạt các trường hợp (nếu chiều cao ==) để kiểm tra chiều cao của giới hạn của màn hình UIScreen và lấy hình ảnh thích hợp cho chế độ xem hình ảnh. Rõ ràng với tôi ở đây rằng -568h không được công nhận rộng rãi như một hình ảnh iPhone 5. Nó chỉ áp dụng cho màn hình tải.

Bây giờ, trong AppDelegate của tôi, tôi đang thiết lập hình nền. Tất cả các cuộc phỏng vấn của tôi đều có nền trong suốt, vì vậy chúng được thể hiện qua hình nền. Tuy nhiên, tôi đang gặp khó khăn nhất khi thiết lập hình nền ở đây.

Chỉ cần chuyển vào "Background.png" Thêm -568h @ 2x vào cuối tên tệp không hoạt động. Nó sẽ làm không võng mạc và màn hình võng mạc 3,5 ", nhưng sẽ không nhận màn hình 4".

ví dụ:

self.window.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"Background.png"]]; 

Nếu tôi sử dụng đoạn mã trên mã, hình ảnh iPhone4 được sử dụng thay cho hình ảnh iPhone5 và đây không phải là những gì tôi muốn.

Tôi chuyển sang cố gắng làm điều tương tự như tôi đã làm với màn hình splash. Tôi có một loạt các trường hợp:

CGFloat height = [UIScreen mainScreen].currentMode.size.height; 

if (height == 1136) 
{ 
    //Choose image here 
} 
else if (height == 960) 
{ 
    //Choose image here 
} 
else if (height == 480) 
{ 
    //Choose image here 
} 
self.window.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:chosenImage]]; 

Nhưng hàm colorWithPatternHình ảnh cho rằng Hình ảnh đã chọn sẽ đi 1 điểm = 1 pixel. Vì vậy, tôi kết thúc với một hình ảnh không võng mạc cố gắng để phù hợp với màn hình iPhone 5. Exaclty trông như thế nào? Có vẻ như chỉ có góc phần tư trên cùng bên trái của hình ảnh tôi muốn được hiển thị trên toàn bộ màn hình iPhone 5. Có vẻ như không áp dụng quy mô võng mạc.

Tôi cần iPhone để nhận ra rằng tôi có ảnh iPhone 5 thân thiện với võng mạc sẽ được sử dụng làm nền. Làm thế nào để tôi làm điều này?

Trả lời

7

tôi tìm thấy mã này here, có lẽ nó giúp bạn:

UIImage *tmpImage = [UIImage imageNamed:@"[email protected]"]; 
UIImage *backgroundImage = [UIImage imageWithCGImage:[tmpImage CGImage] 
               scale:2.0 
             orientation:UIImageOrientationUp]; 
self.window.backgroundColor = [UIColor colorWithPatternImage:backgroundImage]; 
Các vấn đề liên quan