我正在尝试为此UIImagePickerController实例添加叠加层,但结果是叠加偏离中心。
我创建了一个简单的红色正方形(300x300 pt)来举例说明问题并用作叠加层并将其添加到相机叠加层中,使用:
CGRect bounds = [[UIScreen mainScreen] bounds];
UIView *containerOverlay = [[UIView alloc] initWithFrame:bounds];
UIImage *overlay = [UIImage imageNamed:@"red"];
UIImageView *overlayView = [[UIImageView alloc] initWithImage:overlay];
CGFloat midX = CGRectGetMidX(bounds);
CGFloat midY = CGRectGetMidY(bounds);
CGPoint center = CGPointMake(midX, midY);
overlayView.center = center;
[containerOverlay addSubview:overlayView];
[_camera setCameraOverlayView:containerOverlay];
这是实时预览中显示的内容......完全偏离垂直中心。
令人惊讶的是,当我拍摄照片并且iOS向我显示已拍摄的照片时,叠加层神奇地居中......
如何将叠加层置于实时摄像机中心?
答案 0 :(得分:1)
那么叠加层是否以y为中心到屏幕边界?
你在这做什么:
CGFloat midX = CGRectGetMidX(bounds);
CGFloat midY = CGRectGetMidY(bounds);
如果您希望叠加层与实际图像矩阵对齐,则需要偏移底部黑条(它与顶部黑条的高度不同)。