Xcode 7 Swift 2我应该使用按钮字体还是图像?

时间:2016-04-12 06:19:08

标签: ios xcode uibutton

我是Xcode的新手,我正在尝试编写一个非常简单的应用程序。

在我的主屏幕上,我基本上是垂直/居中加载三个按钮。我还为每个按钮都有一个图像。当我按下(触摸)时,图像变为另一个图像(仅显示其选中)。

我正在使用的图像只是带有边框线的不同颜色的字体。我应该在按钮中使用相同的字体并在按下时将其更改为其他颜色,还是使用图像显示按钮是选中还是未选中?每次按下按钮时,这是否会对应用程序(加载图像)产生影响?

我可以根据不同的iphone加载不同大小的按钮吗?是的,我怎么能这样做?

提前谢谢。

3 个答案:

答案 0 :(得分:1)

正如Wain所说,性能差异应该是微不足道的。我同意通过更改字体颜色可能更容易维护和更改代码。

在IBAction方法中使用此示例更改代码中的字体:

labelName.font = UIFont(name: "systemFont", size: 30)

关于不同设备上不同尺寸的其他问题,您应该通过设置约束来实现。我建议您阅读Apple的自动布局指南:https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/AutolayoutPG/WorkingwithConstraintsinInterfaceBuidler.html

但重要的是,您可以根据按钮与UI中其他元素或屏幕边缘的距离来设置按钮的宽度和高度。例如,如果你想让你的按钮距离屏幕的左右边缘25点,这自然意味着iPhone 6 Plus上的按钮会更宽,因为屏幕更大,按钮必须更宽是25分的边缘。

答案 1 :(得分:0)

这是一个权衡,但如果按钮内容很简单,那么代码很容易做到,这会减少将来的维护工作。如果您使用图像,则需要遵循标准的@ 1x,@ 2x,@ 3x方法,这样您就可以拥有不同尺寸的相同图像的多个副本。在任何一种情况下,您都不会真正注意到性能差异,图像通常会为您缓存(如果您使用名称加载),并且它们不是大图像。

答案 2 :(得分:0)

将资源加载到UIButton中以用于不同的状态比更改字体颜色对内存的影响更大。虽然影响很小,但你不太可能注意到。 所以我说这个由你决定。请记住,尽管使用静态图像会牺牲很多灵活性。

对于你的第二个问题: 是的,可以根据屏幕尺寸/ iPhone / iPad版本改变UI元素的大小。 为此,请看看Apples Autolayout。