2012-06-14 54 views
6

Tôi đang gọi UIImagePickerController (sourceTypeCamera) dưới dạng modalViewController từ MainViewController của mình. Tuy nhiên, UIImagePickerController không lấp đầy màn hình ở trên cùng, vì hình ảnh được đính kèm hiển thị. UIImagePickerController strange behavior Bất kỳ ý tưởng nào có thể gây ra điều này và cách khắc phục?UIImagePickerController (sourceTypeCamera) không lấp đầy màn hình trên thanh trạng thái/trên cùng

+1

này không có trong bất kỳ cách nào hành vi dự kiến ​​để gọi lên một bảng chọn đơn giản, xin vui lòng đính kèm các mã cho cách bạn trình bày nó để chúng tôi có thể hiểu rõ hơn về vấn đề. –

+0

@natan: Chỉ ở đầu trang u có một thanh màu đen hoặc cũng ở phía dưới u có một? Tôi nghĩ rằng u cũng có một thanh màu đen ở phía dưới, nhưng đã ẩn nó với thanh công cụ. Có đúng không? –

Trả lời

4

Sau nhiều lần thử, tôi phát hiện ra rằng gọi presentViewController từ [[[[UIApplication sharedApplication] delegate] window] rootViewController] đã giải quyết được sự cố.

+2

Tôi vẫn có cùng một vấn đề khi sử dụng [[[[[[UIApplication sharedApplication] đại biểu] cửa sổ] rootViewController] presentViewController: videoRecorder hoạt hình: YES hoàn thành:^{}]; hoặc [self.window.rootViewController presentModalViewController: videoRecorder hoạt hình: YES], từ lớp AppDelegate – richy

+0

Bạn đang thử điều này trong đó iOS? –

0

Bạn nên thay đổi thuộc tính khung của imagePickerController. khi intializing I.e.

imagePickerController.view.frame.origin.y = 20;

+0

Cảm ơn sự giúp đỡ, nhưng đã không làm việc = ( –

1

Một số mã sẽ hữu ích.

Nếu có liên quan, hãy thử đặt thuộc tính bounds thay vì thuộc tính frame.

1

Trong ứng dụng của tôi trong một viewController đó là bên navigationController - tôi đang làm chỉ đơn giản như thế này:

UIImagePickerController* imagePickerController_; 

imagePickerController_.sourceType = UIImagePickerControllerSourceTypeCamera; 

[self presentModalViewController:imagePickerController_ animated:YES]; 

@interface CustomViewController : UIViewController <UIImagePickerControllerDelegate> 

trình không có vấn đề. Nếu bạn vẫn gặp sự cố, bạn có thể chia sẻ một số mã không? loại cấu trúc điều hướng ứng dụng của bạn có (tabbarcontroller, navigationcontroller, ..?) ?, làm thế nào để bạn trình bày imagepickercontroller?

-1
UIImagePickerController *imagePicker = [[UIImagePickerController alloc] init]; 
imagePicker.sourceType = UIImagePickerControllerSourceTypeCamera; 


[self.view addSubview:imagePicker.view]; 

[imagePicker viewWillAppear:YES]; 
[imagePicker viewDidAppear:YES]; 

[[UIApplication sharedApplication] setStatusBarHidden:NO animated:NO]; 
1

Có boolean trên UIViewController có thể được sử dụng cho bạn: wantsFullScreenLayout. Theo tài liệu, đây là:

Giá trị Boolean cho biết chế độ xem có nên chồng chéo thanh trạng thái hay không.

Tôi đã gặp một số sự cố, đặc biệt là trên iOS 5, với chế độ xem nhấn mạnh thanh trạng thái, đặc biệt khi được trình bày một cách bình thường. Điều tốt nhất tôi đã tìm thấy là đặt giá trị này thành YES và đặt thủ công chế độ xem của bạn bên dưới thanh trạng thái. FYI, thanh trạng thái có độ cao 20.

0

Gọi

[[UIApplication sharedApplication] setStatusBarHidden:YES withAnimation:UIStatusBarAnimationNone]; 

Trước khi gọi

[self presentModalViewController:picker animated:YES]