如何在后面创建一个带有水印UIImageView的UIView?

时间:2015-06-08 04:22:01

标签: ios objective-c cocoa-touch uiimage

我不确定水印是否正确,但我想做的是以下内容。

我想显示一个UIViewController(屏幕上还有一个UITabBar)。我正在使用这个UIViewController寻找一定的外观。我希望整个ViewController显示图像。然后,我希望覆盖这个图像的颜色覆盖,例如80%alpha(即透明度)。所以你在背景中隐约看到了图像。

然后我想添加一些UILabel,UITextField以及更多UIImageView。

我有几个问题。

1)我需要什么尺寸的图像?此应用程序仅限肖像。我注意到Apple的HIG声称iPhone 6+的屏幕大小是1242 x 2208.这是否意味着我应该让我的设计师为我提供一个1242x2208的图像来创建我想要的UIViewController?屏幕上的UITabBar和状态栏怎么样?这些会缩小和扭曲图像吗?

2)如果我在" iPhone 6 +"尺寸,我可以缩小其他型号吗? 6,5,4s?或者我只创建一个UIImageView,将其约束到所有方面,然后告诉它尊重宽高比?

3)我是否需要4种尺寸的图像,特别是4s,5,6和6+。或者我只是获得一个大图像并让它自己扩展?是否需要1242x2208?

3a)可以更大吗?

3b)我应该避免变小,所以它永远不会扩大(并且看起来很奇怪)?

3c)我的图像是否需要以9:16的比例创建,如1242x2208?

2 个答案:

答案 0 :(得分:1)

1)如果将图像视图的内容模式设置为aspect fill,则可能只需要一个(1242 x 2208);但如果图像被系统切坏,则需要4种不同的图像尺寸(例如,iPhone5可能是640 *(1136-tabHeight-statusbar));

2)你最好为不同的设备使用不同尺寸的图像,因为如果使用大图像,你可能会在iPhone4s上获得MemoryWarning

答案 1 :(得分:0)

您的设计师可以制作包含全尺寸颜色叠加的图像,如果她使用受限制的颜色托盘,文件大小将非常小,并且不会出现内存使用问题。除非您需要在所有屏幕尺寸中精确定位图像,否则一个图像将起作用。使用contentMode aspectFill和纵横比将被保留。多余的图像将在屏幕上运行。将UIImageView放在视图层次结构的底部,并使用约束将其固定到边缘(如您所说)。

请设计师以png8文件格式创建图像。这对于低对比度图像来说已经足够了,并且对于大屏幕尺寸仍然具有完整的分辨率。纵横填充将缩放图像以适应而不会失真。