【发布时间】:2014-02-18 05:52:23
【问题描述】:
我拍了一张照片,然后我用这张照片初始化了一个 UIImageView 对象。唯一的问题是,当我拍照时,正在使用 iPhone 全屏(人像)拍照。
使用这张照片初始化的 UIImageView 仅设置为占据 iphone 屏幕的前 50%。所以你可以想象图像看起来是扭曲的。
通过使用以下代码,我已经使它看起来好多了:
UIImageView *halfView = [[UIImageView alloc]initWithImage:image];
[self.view addSubview:halfView];
halfView.frame = CGRectMake(0, 0, self.view.bounds.size.width, self.view.frame.size.height/2);
halfView.contentMode = UIViewContentModeScaleAspectFill;
唯一的问题是,最终名为“halfView”的 UIImageView 仍然有些失真。
我有一种无法解决的感觉,因为原始照片是在整个 iphone 屏幕上拍摄的,并且永远无法完美地缩放以适应仅占 iphone 屏幕顶部 50% 的 UIImageView。
我基本上是在尝试复制前端应用程序。这是您在他们的应用中拍摄原始图像时的样子:
这是您拍照时我的应用程序屏幕的样子:
然后在你拍完照片后,我的应用程序的屏幕会变成看起来像正面的屏幕,并拍摄你刚刚拍摄的照片并将其放在上半部分并尝试对其进行缩放。
我希望这是有道理的。我知道这是一个很长的问题,但我真的想让用户在拍照时使用全屏,然后将其缩放到屏幕的一半。
我做错了吗?当它最初被捕获为“全屏”图像时,我是否可以正确地将图像缩放到屏幕的一半?
感谢您的帮助。
【问题讨论】:
-
可能您的图像视图大小通过使用 ios 7 得到增加?检查你的 imageview 的高度是否和你想象的一样?
标签: ios iphone objective-c uiimageview uiimage