从两个边缘开始处理iOS项目最合适的方式是什么 - 图形化和程序化?

时间:2015-04-28 08:50:57

标签: ios graphics

我目前正在自己​​做一个项目作为主要开发人员(对于ios来说很新),我的图形功能有限,现在我想添加一个可以与我合作的图形设计师。 我想知道,安排我的项目最常见,最常用和最合适的方式是什么,这将是与设计师整合的最简单方法。 我应该要求所有图形文件为jpeg吗? PNG?或者psd's?图形设计师应该具备iOS和xcode环境的知识吗? 我也想知道什么是管理不同设备资源的正确方法,因为它们的分辨率不同。 这是一个我想学习的理论问题,谢谢你的答案。

2 个答案:

答案 0 :(得分:2)

您的问题有点模糊,因为设计iOS应用程序有很多方面。以下是一些需要考虑的事项:

1)您是否考虑过您的应用将如何运作,它将做什么以及设计的哪些部分将是图形而不是通过代码创建?不要去做设计,直到你想到这些事情。我们无法始终将图片用于iOS应用。有时某些元素可以并且需要通过代码创建,例如灵活性(使用多个设备)等等......

2)一旦确定了应用的运行方式,请与您的图形设计师交流并分享您的想法。他/她很可能会提出很多改进建议,因此您的设计会再次发生变化。

3)一旦您与设计师就设计和价格达成一致,请询问PNG和PSD文件。我总是觉得有PSD文件的副本也是非常有用的,如果你想做一个小的改变,你不会再为设计师支付一笔简单的费用。

<强>更新

回答您关于不使用Auto Layout且仍具有适用于不同iOS设备和屏幕尺寸的UI的评论。然后考虑以下方法:

1)在Interface Builder(在Xcode中)中,使用重新调整大小选项卡来设置任何和所有UI元素的大小和重新调整大小的属性。

enter image description here

2)有时您会发现用户界面中的某些元素(例如UIButton)无法正常调整大小,或者无法在某些设备上找到您想要的位置。要解决此问题,您可以使用代码检测iOS设备,然后通过代码更改UI(例如将对象移动几个像素等等)。

下面是一个示例,说明如何使用代码来检测正在使用的设备类型(或屏幕大小),以及如何相应地更新UI:

if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) {

    // Target device is an iPhone or iPod Touch.

    CGSize result = [[UIScreen mainScreen] bounds].size;

    if (result.height == 480) {
        // 3.5 inch display - iPhone 4S and below

        CGRect frame = [button frame];
        frame.origin.x = frame.origin.x + 100; 
        frame.size.width = frame.size.width + 100;
        [button setFrame:frame];
    }

    else if (result.height == 568) {
        // 4 inch display - iPhone 5
    }

    else if (result.height == 667) {
        // 4.7 inch display - iPhone 6
    }

    else if (result.height == 736) {
        // 5.5 inch display - iPhone 6 Plus
    }
}

else if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {

    // Target device is an iPad.
}

以上只是一个示例,在添加到viewDidLoad方法时可以正常工作。

更新2

我想强调的是,尽管Auto Layout使用起来很痛苦并且有时令人讨厌,但从长远来看这是值得的。它可以帮助您免于进行大量额外工作。我所说的上述方法确实有效,但根据您的应用,您的用户界面,您将支持的设备和方向,上述方法最终可能会产生额外的不必要的工作,只需使用Auto Layout就可以避免这些工作

希望这会有所帮助:)

答案 1 :(得分:0)

总是要求PSD,这将为您提供图形所需的所有图层,您可以在没有设计师的情况下提取图像。如果他确实掌握了iOS编程知识,他可以为你做到这一点。

另外,我的建议是找一个对iOS用户体验有深刻了解并且阅读了所有Apple指南的人。