2013-04-08 18 views
6

Tôi đã tìm kiếm mọi kết hợp tôi có thể thử và tìm câu trả lời cho điều này, vì tôi chắc chắn rằng nó đã được hỏi ở đâu đó .... vì vậy hãy tha thứ cho tôi nếu bạn có thể chỉ cho tôi Đúng hướng.Phát triển cho iPhone 4 hoặc 5 Đầu tiên

Nếu bạn đang phát triển một ứng dụng iOS mới, trước tiên bạn có thiết lập bố cục của mình bằng IB cho kích thước màn hình iPhone 5 hoặc 4 không? Tôi đã tìm thấy rất nhiều bài viết về cách sử dụng autolayout để di chuyển ứng dụng iPhone 4 của bạn sang iPhone 5, nhưng không phải ngược lại .... điều này khiến tôi nghĩ luồng công việc mong muốn cho các ứng dụng sẽ không có giao diện riêng hoàn toàn cho 2 là tạo giao diện của bạn bằng IB với kích thước màn hình 3,5 "và sau đó sử dụng autolayout để thích ứng với màn hình 4" của iPhone 5.

Ai đó có thể làm rõ phương pháp hay nhất cho tôi không?

Trả lời

6

Kendall Geln làm cho một số điểm rất tốt. Đặc biệt là tốt hơn là xây dựng từ màn hình nhỏ hơn và thay đổi kích thước - chủ yếu là do các yếu tố thu hẹp có thể mang lại trải nghiệm xấu và chật chội cho người dùng. Trên ghi chú đó, bạn cần phải đảm bảo rằng đồ họa của bạn (hình ảnh và video) được kích thước phù hợp cho cả hai kích cỡ màn hình. Khi tạo đồ họa của bạn, tốt nhất bạn nên tạo chúng ở quy mô lớn trước và sau đó giảm kích thước khi cần.

Một xem xét thiết kế khác sẽ tạo ra các giao diện hơi khác nhau cho màn hình 4 inch và 3,5 inch. Màn hình 4 inch cao hơn và cung cấp cho nhà phát triển nhiều không gian hơn và do đó có nhiều khả năng hơn. Điều này gần như là cùng một nguyên tắc như thiết kế giao diện iPad và iPhone.

Bạn cũng đề cập đến việc này trong Trình tạo giao diện. Theo mặc định (bây giờ trong Xcode 4.6+) bất kỳ dự án dựa trên iPhone mới sẽ bắt đầu giao diện của bạn tại bố trí 4-inch/iPhone 5. Bạn có thể chuyển đổi giữa bố trí bất cứ lúc nào bằng cách nhấn vào nút màn hình kích thước chuyển đổi (trông giống như một hình chữ nhật với các mũi tên trên hai đầu) ở góc dưới bên phải của màn hình/Biên tập viên Interface Builder:

Toggle Screen Size in Xcode IB

Nếu bạn cần giao diện hoàn toàn khác nhau cho kích thước màn hình khác nhau, hơn bạn có thể tải Bảng điều khiển của mình có điều kiện trong AppDelegate. Đây là cách bạn có thể đi về làm điều đó: (. Ex 3,5-4, hoặc ngược lại)

if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) { 
    // Check if the user is on a newer iPhone/iPod with a 4-inch screen 
    if ([[UIScreen mainScreen] bounds].size.height == 568) { 
     // The user is on a newer device with a 4-inch screen - load your custom iPhone 5 storyboard 
     UIStoryBoard *storyBoard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone5" bundle:nil]; 
     UIViewController *initViewController = [storyBoard instantiateInitialViewController]; 
     [self.window setRootViewController:initViewController]; 
    } else { 
     // The user is on an older device with a 3.5-inch screen - load the regular storyboard 
     UIStoryBoard *storyBoard = [UIStoryboard storyboardWithName:@"MainStoryboard_iPhone" bundle:nil]; 
     UIViewController *initViewController = [storyBoard instantiateInitialViewController]; 
     [self.window setRootViewController:initViewController]; 
    } 
} 

Nói tóm lại, tôi không nghĩ rằng có một quy trình làm việc đúng, tuy nhiên bạn nên giữ những điểm này trong tâm trí :

  • Scaling xuống giao diện lớn có thể làm cho họ chật chội và gây ra một trải nghiệm người dùng xấu
  • cùng không thể nói cho đồ họa ... nếu bạn thiết kế đồ họa ở độ phân giải thấp hoặc kích thước nhỏ và mở rộng quy mô họ thắng 't trông rất tốt (cùng một nguyên tắc được áp dụng khi thiết kế cho các thiết bị Retina và Non-Retina).
  • Cân nhắc các kích thước màn hình khác nhau và những gì có thể được thực hiện trên mỗi kích thước. Hãy nhớ rằng có thể tạo các bảng phân cảnh riêng biệt.

EDIT: Bắt đầu từ đầu năm 2013 Apple sẽ không cho phép ứng dụng vào AppStore không hỗ trợ iPhone 5. Bạn phải hỗ trợ kích thước màn hình iPhone 5 để tải ứng dụng hoặc bất kỳ cập nhật nào lên cửa hàng.

+0

Cảm ơn RazorSharp và Kendall Gein, đây chắc chắn là kết luận mà tôi đã từng đọc về cách tự động, v.v., chỉ muốn xem luồng công việc của người khác và đảm bảo rằng tôi không có khả năng thiếu thứ gì đó trong quy trình tự động. – snownskate

+0

Không sao cả! Đảm bảo đánh dấu câu trả lời nào là câu trả lời cuối cùng cho bạn như câu trả lời được chấp nhận. Bạn có thể làm như vậy bằng cách đánh dấu vào dấu kiểm màu xám bên cạnh dấu kiểm. Một câu trả lời được chấp nhận sẽ có một dấu chọn màu xanh lá cây bên cạnh nó. –

+0

Một bình luận thêm về điều này .... Tôi đã kết thúc việc tạo ra một kịch bản thứ hai cho kích thước màn hình iphone 4 và chỉ cần sao chép trên các nguồn lực trong IB để buộc bộ điều khiển xem 3,5 ". Không chắc chắn nếu đây là thực hành tốt nhất làm việc tuyệt vời – snownskate

3

Nói chung tốt hơn là nhắm mục tiêu bất kỳ kích thước nhỏ nào mà giao diện người dùng của bạn có thể và đặt hành vi tự động đổi kích thước để mở rộng một cách thích hợp - các yếu tố thu hẹp có thể mang lại giao diện người dùng quá chật chội.

Cũng lưu ý trên iPhone 5 rằng trong viewDidLoad, các thành phần giao diện người dùng từ ngòi sẽ chưa được thay đổi kích thước hoặc định vị lại (ít nhất là với công cụ bố cục cũ hơn).