2010-05-05 6 views
11

Tôi đang thử nghiệm một ứng dụng trên Trình mô phỏng iPad và tôi cần nó để khởi động ứng dụng của mình ở vị trí giả lập nhưng mỗi khi tôi chạy ứng dụng, trình mô phỏng sẽ quay sang chế độ dọc.mô phỏng ipad xoay

Có cách nào để ngăn chặn hành vi này không?

cảm ơn.

= = = =

lần cuối cùng chỉnh sửa: Tôi phát hiện ra bây giờ mà nếu tôi trở NO trên shouldAutorotateToInterfaceOrientation, vấn đề dừng lại. Nhưng điều này là điên vì shouldAutorotateToInterfaceOrientation nên xoay giao diện để phù hợp với vị trí iPad, không phải ngược lại.

Trả lời

2

iPad hỗ trợ nhiều hình ảnh khởi chạy (trái ngược với iPhones singular default.png) để ứng dụng có thể được khởi chạy trong tất cả các lần quay. Specifics here

Tôi đoán rằng bạn đang thiếu những cái mới (default-landscape.png v.v.) để khi ứng dụng tải nó chỉ có thể tìm thấy màn hình tải dọc và kích hoạt vòng quay (và trình mô phỏng phản hồi bằng cách xoay vào ảnh chân dung). Khi bạn có shouldAutorotateToInterfaceOrientation trả lại NO, nó vẫn không thể tìm thấy hình ảnh ngang nhưng không cho phép xoay vòng có ảnh hưởng?

+1

Tôi không có hình ảnh khởi chạy, ứng dụng này nhẹ và xuất hiện nhanh. Vấn đề là táo báo cáo rằng một lỗi xuất hiện khi ứng dụng được khởi chạy khi thiết bị ở chế độ ngang. Họ nói rằng ứng dụng khởi chạy trong bức chân dung. Vì tôi sống ở châu Âu và các nhà phát triển nước ngoài dường như bị Apple bỏ qua, tôi không có một thiết bị thực để kiểm tra. Vì vậy, tôi đang cố gắng để xem lỗi trên giả lập. Sau đó, tôi xoay trình mô phỏng và khởi chạy ứng dụng. Ngay lập tức, trình mô phỏng quay trở lại chân dung, điều khá khó chịu, đặc biệt vì tôi không đặt bất kỳ hướng nào. – SpaceDog

+0

Đó là sự cố .plist. Nếu thứ tự của UISupportedInterfaceOrientations khác nhau, thiết bị sẽ tự động khởi động khi bắt đầu một hướng khác. Xem câu trả lời của Hugh. –

1

Sau khi được đặt ở chế độ ngang, sim sẽ ở trong Landscape miễn là bạn không thoát khỏi trình mô phỏng. Bạn có thể chạy lại ứng dụng của mình và ứng dụng sẽ bắt đầu ở Chế độ ngang (tốt, ngoại trừ internally it is initially in portrait).

+1

cảm ơn, nhưng đây không phải là trường hợp của tôi. Tôi không đặt ứng dụng ở chế độ dọc và trình mô phỏng luôn được khởi chạy ở chế độ dọc. Ngay cả khi tôi đặt Ứng dụng ở chế độ ngang, không có gì thay đổi. Nó vẫn còn trong bức chân dung. Khá khó chịu. – SpaceDog

+0

Tôi phát hiện ra rằng nếu tôi trả về NO trên shouldAutorotateToInterfaceOrientation, vấn đề sẽ dừng lại. Nhưng điều này là điên vì shouldAutorotateToInterfaceOrientation nên xoay giao diện để phù hợp với vị trí iPad, không phải ngược lại. – SpaceDog

+0

Thật không may là không có gì có thể được thực hiện. Giả lập iPad hoạt động tốt mặc dù. – Mugunth

1

đã không thử nó trước khi ... nhưng có lẽ nếu bạn thay đổi file plist bằng cách thêm

<key>UIInterfaceOrientation</key> <string>UIInterfaceOrientationPortrait</string>

Tôi biết nó hoạt động trên iphone.

+0

cảm ơn, nhưng Apple đang đá tất cả mọi người trong mông để thiết lập một định hướng cụ thể. Bạn nên khám phá hướng thiết bị khi ứng dụng bắt đầu và đặt định hướng ứng dụng cho phù hợp.Đây là đẹp nhưng chỉ có một vấn đề nhỏ, một chút, thông báo định hướng là crappy như địa ngục và chúng chỉ phát hiện hướng nếu bạn xoay thiết bị, không phải là hướng mà thiết bị đang bật nếu không xảy ra xoay vòng. Chưa kể rằng các thông báo cần có thời gian để làm việc và bạn phải trì hoãn ứng dụng của mình cho đến khi bạn có một bài đọc đáng tin cậy .... – SpaceDog

+0

... (tiếp tục) ... ngay cả khi sử dụng gia tốc kế để khám phá định hướng không hoạt động tốt, bởi vì nó cần có thời gian để có một đọc đáng tin cậy quá. Chúng ta cũng quên thực tế rằng bộ mô phỏng không có gia tốc kế và tự quay khi chế độ xem quay. Một mớ hỗn độn. – SpaceDog

+0

cũng ... vấn đề có xảy ra trên thực tế không? – user333593

1

Chỉ cần để comfirm, tôi đồng ý với tất cả mọi thứ bạn nói trên Mike nhưng bạn dường như có thể đến từ nó từ góc độ sai.

Một trong những điểm chính của iPad (theo táo) là các ứng dụng phải có đầy đủ chức năng theo bất kỳ hướng nào. Nếu bạn đọc các speil táo trên làm cho hầu hết các giao diện người dùng iPad bổ sung trên iPhone/iPod Touch, nó đi vào chi tiết tuyệt vời ở đó.

Nếu bạn sử dụng "cmd" + mũi tên trái/phải, bạn sẽ có thể định hướng trình mô phỏng. Điều này sẽ cho phép bạn mô phỏng chính xác những gì người dùng sẽ gặp phải nếu họ bắt đầu ứng dụng của bạn theo hướng sai từ những gì bạn đã mã hóa.

Tôi khuyên bạn nên đảo ngược sửa đổi mã bạn đã thực hiện (shouldAutorotateToInterfaceOrientation - NO) và mã ứng dụng của bạn hiển thị theo bất kỳ hướng nào. Nếu bạn phải mã chỉ trong một thì tôi nghi ngờ một người dùng sẽ buộc phải xoay thiết bị để khắc phục vấn đề.

Tôi biết bạn rất muốn thử nghiệm ứng dụng phong cảnh của mình nhưng tôi không biết bất kỳ cách nào mà Trình mô phỏng iPad có thể bắt buộc trong Chế độ ngang mà bạn không đề cập đến ở trên. Tôi nghi ngờ của bạn bị mắc kẹt với "cmd" + "trái/phải" mũi tên.

4

Tôi gặp sự cố này khi chạy ứng dụng thử nghiệm GHUnit trong trình mô phỏng.Tôi cố định nó bằng cách thêm này đến tập tin info.plist:

<key>UISupportedInterfaceOrientations~ipad</key> 
<array> 
    <string>UIInterfaceOrientationPortrait</string> 
    <string>UIInterfaceOrientationPortraitUpsideDown</string> 
    <string>UIInterfaceOrientationLandscapeLeft</string> 
    <string>UIInterfaceOrientationLandscapeRight</string> 
</array> 

Nếu bạn chỉnh sửa này sử dụng biên tập plist Xcode của, đảm bảo bạn có "Show Raw phím/giá trị" tùy chọn bật.

+0

Bật. Điều đó cố định nó cho tôi quá –

+0

Vấn đề là thứ tự. Nếu UIInterfaceOrienationPortrait của bạn không phải là đầu tiên, nó sẽ thay đổi hướng ban đầu của iPhone/iPad. Tôi gặp sự cố này khi nhấn các nút trên tab Cài đặt dự án thông tin để bật/tắt định hướng. Bằng cách xóa cài đặt định hướng trong .plist, nó được đặt lại theo thứ tự đúng. –

1

Tôi nghĩ mình đã có nó!

Nếu bạn đóng giả bạn (như Cmd +Q), sau đó nó bắt đầu luôn ở chế độ dọc.

Nhưng nếu bạn đóng ứng dụng của bạn bằng cách nhấn nút trang chủ trên trình mô phỏng, thì nó sẽ nhớ định hướng cuối cùng ở lần bắt đầu tiếp theo của ứng dụng.