2010-05-14 33 views
5

Nếu iPad của tôi ở chế độ ngang và trình bàyModalViewController được gọi là chế độ xem tự động chuyển sang chế độ dọc. Bất kỳ giải pháp?vấn đề với hiện tạiModalViewController

UIViewController * start = [[UIViewController alloc]initWithNibName:@"SecondView" bundle:nil]; 
start.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal; 
start.modalPresentationStyle = UIModalPresentationFormSheet; 
[self presentModalViewController:start animated:YES]; 

Trong SecondView Tôi đã thêm:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { 
return YES; 
} 
+0

điều này đã xảy ra với tôi - tôi chưa tìm ra, vì vậy hy vọng ai đó phản hồi :) – Conceptdev

+0

Giải pháp rất dễ dàng: Vào Trình xây dựng giao diện và kết nối ViewController của bạn một cách chính xác với lớp học của bạn. Điều đó làm việc cho tôi –

Trả lời

2

Vấn đề là mã mẫu của bạn đang tạo UIViewController thay vì lớp dẫn xuất thực tế của bạn. Nói cách khác thay vào đó bạn nên tạo điều khiển của bạn như thế này:

SecondViewController *start = [[SecondViewController alloc]initWithNibName:@"SecondView" bundle:nil]; 

Tôi giả định xem lớp điều khiển của bạn được gọi là "SecondViewController" bởi vì bạn đã tải một ngòi bởi một tên tương tự.

Nếu bạn không cung cấp đúng cá thể, không có cách nào mà phương thức ủy nhiệm của bạn có thể được gọi.

0

Có phải là cái gì khác xảy ra vì quy định trong IB không làm việc cho tôi cả. OP ban đầu có sử dụng splitViewController không?

1

UIViewController 'bắt đầu' của bạn phải ghi đè để cho phép nó xuất hiện đúng hướng.

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{ 
    // Return YES for supported orientations. 
    return YES;//UIInterfaceOrientationIsLandscape(interfaceOrientation); 
} 

Tôi đã nhận được bản thử nghiệm này ngay bây giờ. Và tôi giải quyết nó bằng cách này. Hy vọng điều này cũng có thể giúp bạn.