创建具有预定义大小(以像素为单位)的UIView

时间:2015-05-10 14:24:41

标签: ios objective-c uiview

是否可以创建将在UIView上展示的自定义1500 x 1500 pixels?我可以轻松地从UIView创建图像并保存,我的问题在我使用iPhone 5时开始,我保存的图像将是640 x 640 pxUIView是正方形)因为640 pixel是其屏幕分辨率的maximum width。因此,当我在iPhone 6 Plus上使用相同的图像时,它将被像素化,因为它的屏幕宽度为1080 x 1080 px,因此我需要在每个屏幕上创建看起来很好的图像。我怎么能管理这个?或者我怎么能在每台设备上制作相同的UIView?

在这种情况下,结果将根据视网膜屏幕的类型而有所不同:

CGRect newFrame = self.fullView.frame;    
newFrame.size.width = 1500;
newFrame.size.height = 1500;
[self.fullView setFrame:newFrame]; 

我有一个想法,我会使用if语句来确定当前设备并为不同的设备使用不同的大小,但更清洁的解决方案将是惊人的。但是我不确定它是否合适 逻辑,所以我欢迎任何其他解决方案。

我将UIView保存为UIImage UIGraphicsBeginImageContextWithOptions(view.bounds.size, view.opaque, 0.0);,因此保存方法不会减小尺寸。

1 个答案:

答案 0 :(得分:0)

不确定您要尝试做什么,但您应该自动布局以使视图适合正确的屏幕尺寸。

此外,如果您希望为每个屏幕尺寸设置特定图像,则应使用Asset Catalog,您可以在其中创建图像集,并为每个设备加载不同的图像。