我在我的应用程序中有以下代码,它显示一个减去相机控件的UIImagePicker。
#define CAMERA_SCALAR 1.32
@implementation CameraViewController
- (id)init {
// Remove standard controls from UIImagePicker and make full screen
if (self = [super init]) {
self.sourceType = UIImagePickerControllerSourceTypeCamera;
self.showsCameraControls = NO;
self.navigationBarHidden = YES;
self.toolbarHidden = YES;
self.wantsFullScreenLayout = YES;
self.cameraViewTransform = CGAffineTransformScale(self.cameraViewTransform, 1, CAMERA_SCALAR);
}
return self;
}最初,当我删除set showsCameraControls设置为NO时,我会在控件所在的屏幕上看到一个黑条。为了弥补这一点,我添加了self.cameraViewTransform行来放大视图。
这是可行的,但是它会扭曲图像。我想我需要做的就是按照与宽度相同的比例缩放高度。
有没有人能建议我做这件事的最佳方法?
提前感谢!
发布于 2012-01-16 21:39:22
我可能误解了你的问题,但是要缩放宽度,你可以
self.cameraViewTransform = CGAffineTransformScale(self.cameraViewTransform, CAMERA_SCALAR, CAMERA_SCALAR);而不是
self.cameraViewTransform = CGAffineTransformScale(self.cameraViewTransform, 1, CAMERA_SCALAR);但当然,这将把相机视图的侧面推到屏幕之外。
原则上,我认为在这种情况下没有最好的选择(完全显示相机在全屏中显示的内容),因为问题的根源是屏幕/相机的纵横比的差异。你要么错过一部分视图,要么扭曲视图,这是我的想法。
https://stackoverflow.com/questions/8880691
复制相似问题