在我的IOS应用程序中,当我打开相机时,我已经在相机视图上放置了一张图像。它在肖像模式下看起来不错。但是当它被改变为横向模式时,它看起来有点奇怪。所以我想在肖像模式下锁定UIImagePickerController。
下面是我的ui图像选择器控制器代码。
UIImagePickerController *imgPkr = [[UIImagePickerController alloc] init];
imgPkr.delegate = self;
imgPkr.sourceType = UIImagePickerControllerSourceTypeCamera;它是如何在纵向模式下锁定的...
发布于 2012-04-23 22:28:59
这不是最好的解决方案,但它是有效的:
AppDelegate *appDelegate = (AppDelegate *) [[UIApplication sharedApplication] delegate];
[appDelegate.window addSubview:cameraOverlay];
imgPicker.cameraOverlayView = appDelegate.window.superview;背景上的摄像头仍在旋转,但您的叠加视图不会。希望它能为您工作
发布于 2013-11-26 11:35:55
或者,您可以创建UIImagePickerController的子类:
创建一个新的UIImagePickerController类,并向其中添加以下行。
- (BOOL)shouldAutorotate{
return NO;
}将其导入使用摄影机的类,并使用您创建的类,而不是使用默认的UIImagePickerController。
你的相机本身应该停止自动旋转。
发布于 2013-03-22 03:41:25
对我来说唯一有效的解决方案是类别,但我还必须添加另一个方法:
#import "UIImagePickerController+NoRotate.h"
@implementation UIImagePickerController (NoRotate)
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return (interfaceOrientation == UIInterfaceOrientationPortrait);
}
- (NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskPortrait;
}
@end干杯!
https://stackoverflow.com/questions/8940443
复制相似问题