2012-05-05 25 views
5

Tôi đã tạo dự án bao gồm 5 xib. Khi tôi cố gắng chạy dự án trong trình mô phỏng iPad. Một số Xibs đang đến trong kích thước màn hình iPhone. Tôi muốn chuyển đổi những xibs iphone đó sẽ hỗ trợ kích thước màn hình iPad Xib. Bất kỳ ý tưởng làm thế nào để làm điều đó?Xcode 4.2, thay đổi iPhone xib thành iPad xib

Chú ý: Tôi muốn hỗ trợ cả iPhone và iPad

+0

Nếu bạn đã tạo các tệp .xib được nhắm mục tiêu cho iPhone, sau đó tạo tệp xem mới được nhắm mục tiêu cho iPad. Và như vậy bạn có thể tạo các tệp .xib riêng cho iPad. –

+0

Bạn có nghĩa là, tạo một xib dưới cùng một tên cho ipad như iphone và tôi muốn thêm những thứ UI một lần nữa, như tôi đã thêm cho iPhone? – Perseus

+0

Chính xác .. ở đó bạn ..! tạo một new.xib với tên postfix là 'a-iPad.xib' và tiếp tục. Cách tiêu chuẩn để tạo ứng dụng toàn cầu đề xuất điều này. –

Trả lời

1

Tôi vừa sao chép Xib cũ và đổi tên nó thành ~ ipad ở cuối cùng. Và trong mã nguồn thay vì 320 * 480, tôi đã thay thế độ phân giải của iPad. Và giao diện người dùng giao diện người dùng của tôi trông giống như iPad và ứng dụng của tôi đang phát hiện ra thiết bị của ipad. Cảm ơn tất cả mọi người.

1

Tôi nghĩ rằng nó sẽ hữu ích cho bạn

if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) { 
      self.viewController = [[[ViewController alloc] initWithNibName:@"ViewController_iPhone" bundle:nil] autorelease]; 
     } else { 
      self.viewController = [[[ViewController alloc] initWithNibName:@"ViewController_iPad" bundle:nil] autorelease]; 
    } 
+0

Tôi chỉ có xib iPhone, tôi không có xib cho iPad – Perseus

+0

Khi bạn tạo dự án mới, bạn có thể sử dụng 'phổ quát' trong gia đình thiết bị và không nhấp vào 'sử dụng bảng câu chuyện', sau đó bạn sẽ nhận được iPad xib và iPhone xib. Tôi nghĩ bạn chỉ sử dụng 'iPhone' trong gia đình thiết bị. Kiểm tra nó. –

+0

Tôi đã kiểm tra. Thiết bị mục tiêu Gia đình được hiển thị dưới dạng iPhone/iPad – Perseus

1

Sau đó, bạn nên tạo dự án của bạn hoặc cập nhật dự án của bạn phổ biến và thay đổi cài đặt xib ipad và tự động hóa nó.

+0

Bạn muốn tạo lại toàn bộ dự án? CHÚA ƠI. Bây giờ tôi có thể thấy trong các thiết lập dự án mà Target Device Family là iPhone/iPad. Có cách nào khác để chuyển đổi xib iPhone? – Perseus

+0

không chỉ cập nhật dự án của bạn. – vishiphone

+0

Không có cách nào khác sẽ tự động chuyển đổi tất cả *** iPhone .xib *** thành *** .xib *** với chế độ xem hài lòng. –

18

Bạn có thể chuyển đổi iPhone xib thành iPad xib bằng cách sử dụng bước sau.

Nhấp chuột phải vào tập tin (trong xcode) và Open As> Source Code

Dòng thứ 2 sẽ giống như thế:

<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.10"> 
Replace with: 

<archive type="com.apple.InterfaceBuilder3.CocoaTouch.iPad.XIB" version="7.10"> 

Tìm kiếm "IBCocoaTouchFramework" và Thay thế tất cả các lần xuất hiện bằng "IBIPadFramework"

Lưu tập tin và mở As> Interface Builder - iOS

bạn có thể làm điều này cho al xib ... và bạn có iPhone của bạn xib bây giờ trong iPad xib.

Hy vọng điều này sẽ giúp bạn ..

+2

Xin lỗi vì tôi đã không đề cập đến. Tôi muốn hỗ trợ cả iPhone và iPad. Nhưng tôi nghĩ rằng điều này sẽ chỉ hỗ trợ iPad – Perseus

+0

Bạn có thể tạo bản sao đầu tiên của iPhone và áp dụng các bước trên để nó tạo ra xib mới cho iPad. – Nit

+0

Hãy để tôi rõ ràng. Bạn đang nói để sao chép xib iPhone và đổi tên thành **** ~ .ipad và sau đó trong mã nguồn tôi nên thực hiện những thay đổi cần thiết trong xib như bạn đã đề cập ở trên. Tôi có đúng không? – Perseus

0

nó làm việc cho tôi:

Tạo bản sao của .xib trong Trình tìm kiếm. Mở tệp được sao chép trong trình chỉnh sửa văn bản. Thay đổi "com.apple.InterfaceBuilder3.CocoaTouch.XIB" thành "com.apple.InterfaceBuilder3.CocoaTouch.iPad.XIB". Thay đổi tất cả các phiên bản "IBCocoaTouchFramework" thành "IBIPadFramework". Tìm kiếm các kích thước như {480, 320} và chỉnh sửa chúng. Hoặc chỉ cần mở lại tệp trong Xcode và sử dụng GUI để thay đổi kích thước các mục nếu cần. Điều này cũng hoạt động ngược lại, nếu bạn cần thay đổi một iPad xib thành iPhone xib.

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