我已将UIImageView拖到故事板中的UIViewController窗口。我使用手柄使它占据了整个窗口。我将UIImageView的模式设置为" Aspect Fit"。我的目标是当iPhone保持与拍摄图像相同的方向时,图像占据整个窗口。
但出于某种原因,每张图像上方和下方都有一点空间。
此外,当用户使用隐藏的UIButton触摸图像时,我将其设置为导航栏和状态栏消失。除了当导航和状态栏重新进入视图时图像向下移动时,这样可以正常工作。当我有这个代码时,图像只会向下移动:
self.navigationController.navigationBarHidden = YES;
self.navigationController.navigationBarHidden = NO;
我用它来使导航栏重新绘制在状态栏下方,因为有时导航栏会被绘制在状态栏下面(这会在导航栏和状态栏同时重新出现时发生。)
如何在没有这些怪癖的情况下让我的图像全屏显示?
修改
我认为这可能与此有关:
相机的宽高比为4:3,屏幕的宽高比为3:2。 所以相机图片根本无法填满屏幕 除非你愿意裁剪到3:2。为此,请申请 适当的规模变换。
是否可以在uiimageview中对图像应用仿射变换?
答案 0 :(得分:2)
您需要在wantsFullScreenLayout
的实例上将YES
设置为UIViewController
。来自documentation for wantsFullScreenLayout
。
当视图控制器显示其视图时,它通常会缩小视图 查看,以便其框架不与设备的状态栏重叠。 将此属性设置为YES会导致视图控制器调整其大小 查看,以便它填满整个屏幕,包括下面的区域 状态栏。 (当然,为了实现这一点,托管的窗口 视图控制器本身的大小必须足以填满整个屏幕, 包括状态栏下方的区域。)您通常会设置 如果您有半透明状态栏,则此属性为YES 并希望您的视图内容在该视图后面可见。
如果此属性为YES,则视图不会以这样的方式调整大小 使其与标签栏重叠,但调整大小以重叠半透明 工具栏。无论此属性的值如何,导航 控制器始终允许视图与半透明导航栏重叠。