在默认的情况下,苹果IOS提供了设计应用程序时使用的样式界面元素,除了UIButtons,我使用了其他的按钮风格,这些按钮绝对比默认的按钮好看,接下来我会告诉你我是如何做的。
在我的iOS应用程序,我试过几个不同的方法,设计这些按钮来获得一个更理想的看。虽然我知道你可以设计按键完全代码,我PS图象处理软件能力大大超过我的编程技巧。所以我的按钮都设计在PS图象处理软件,然后导入PNG文件。同时iOS这样一个好的PNG优化,我认为这是最好的选择。
首先,我们需要一个按钮的背景,例如像下面的这个
UIImage *buttonImage = [UIImage imageNamed:@"orangeButton.png"]; UIImage *buttonImageHighlight = [UIImage imageNamed:@"orangeButtonHighlight.png"]; // Set the background for any states you plan to use [saveButton setBackgroundImage:buttonImage forState:UIControlStateNormal]; [saveButton setBackgroundImage:buttonImageHighlight forState:UIControlStateHighlighted];
你也可以在界面生成器通过设置按钮类型为“自定义”,然后添加图片名称的背景属性。
然后使用resizableImageWithCapInsets (iOS 5 Only)
这是我目前的首选方法(大多数情况下)。它让我对大多数跨应用程序的按钮使用相同的图像。
UIImage *buttonImage = [[UIImage imageNamed:@"orangeButton.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(18, 18, 18, 18)]; UIImage *buttonImageHighlight = [[UIImage imageNamed:@"orangeButtonHighlight.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(18, 18, 18, 18)]; // Set the background for any states you plan to use [saveButton setBackgroundImage:buttonImage forState:UIControlStateNormal]; [saveButton setBackgroundImage:buttonImageHighlight forState:UIControlStateHighlighted];
很简单的。在这里你可以改变按钮的尺寸,而无需创建一个新的图像。在界面生成器(或代码)你将需要设置titlelabel颜色以及阴影的位置和颜色。
最后的提示:
- 把文本从你的图像。这将扩大为视网膜显示更好的和允许你动态变化。没有人想得开PS图象处理软件只是按一些按钮的文本。
- 总是有每个图像的2倍的版本。
- 如果你最喜欢的定制(颜色,背景,阴影)可以在界面生成器完成。写在代码,如果你使用的是第二种方法只要求(resizableimagewithcapinsets)。
你更喜欢哪一种方法,你可以使用我的一些样品的按钮样式的开始。这两种方法似乎仍然是粗糙的,所以我希望反馈和更佳的方法创建按钮。