如何从相机拍摄图像以占据整个屏幕

时间:2012-01-05 20:55:12

标签: iphone ios cocoa-touch

我已将UIImageView拖到故事板中的UIViewController窗口。我使用手柄使它占据了整个窗口。我将UIImageView的模式设置为" Aspect Fit"。我的目标是当iPhone保持与拍摄图像相同的方向时,图像占据整个窗口。

但出于某种原因,每张图像上方和下方都有一点空间。

此外,当用户使用隐藏的UIButton触摸图像时,我将其设置为导航栏和状态栏消失。除了当导航和状态栏重新进入视图时图像向下移动时,这样可以正常工作。当我有这个代码时,图像只会向下移动:

    self.navigationController.navigationBarHidden = YES;
    self.navigationController.navigationBarHidden = NO;

我用它来使导航栏重新绘制在状态栏下方,因为有时导航栏会被绘制在状态栏下面(这会在导航栏和状态栏同时重新出现时发生。)

如何在没有这些怪癖的情况下让我的图像全屏显示?

修改

我认为这可能与此有关:

  

相机的宽高比为4:3,屏幕的宽高比为3:2。   所以相机图片根本无法填满屏幕   除非你愿意裁剪到3:2。为此,请申请   适当的规模变换。

是否可以在uiimageview中对图像应用仿射变换?

1 个答案:

答案 0 :(得分:2)

您需要在wantsFullScreenLayout的实例上将YES设置为UIViewController。来自documentation for wantsFullScreenLayout

  

当视图控制器显示其视图时,它通常会缩小视图   查看,以便其框架不与设备的状态栏重叠。   将此属性设置为YES会导致视图控制器调整其大小   查看,以便它填满整个屏幕,包括下面的区域   状态栏。 (当然,为了实现这一点,托管的窗口   视图控制器本身的大小必须足以填满整个屏幕,   包括状态栏下方的区域。)您通常会设置   如果您有半透明状态栏,则此属性为YES   并希望您的视图内容在该视图后面可见。

     

如果此属性为YES,则视图不会以这样的方式调整大小   使其与标签栏重叠,但调整大小以重叠半透明   工具栏。无论此属性的值如何,导航   控制器始终允许视图与半透明导航栏重叠。