【问题标题】:How do I replicate the iOS keyboard appearance?如何复制 iOS 键盘外观?
【发布时间】:2012-05-02 13:21:48
【问题描述】:

我为我的 iOS 应用制作了一个自定义数字键盘,但希望它更接近标准键盘的外观。我正在寻找有关如何使标准 UIButton 外观和行为类似于标准键盘按钮的建议。

具体来说,我需要为 iPad 弄清楚以下内容,并希望尽可能多地在 xib 或情节提要中做。

  • 按钮的大小
  • 键盘背景的颜色(或者更好,我如何自己确定?)
  • 按钮的背景颜色
  • 按钮中文本的字体和颜色
  • 如何在按钮下方添加阴影?
  • 如何使用灰色而不是蓝色突出显示按钮?
  • 按钮之间的间距
  • 如何在更改方向时使“组”按钮整体居中? (所有调整大小的选项都将其固定在一边,而不是相互固定)

标准按钮使用图像,还是修改标准 UIButton?或者更恰当地说,哪个对我们更好?

更新:
我为数字键盘创建了一个项目,这是一个完整的工作示例。但是,我并没有花太多时间在实际外观上,这就是这个问题的主要内容。我已将其发布在 Github 上,并使其成为一个开源项目(受 MIT 许可证涵盖,因此也允许商业用途)。希望其他人会发现它有用,并希望其他人会愿意帮助它变得更好,看起来更像原生键盘。 Github 存储库位于:

https://github.com/lnafziger/Numberpad

【问题讨论】:

  • 由于各种原因,LGPL(可能)与 App Store 应用程序不兼容。这里有一个讨论,我认为涵盖了所有内容:stackoverflow.com/questions/459833/…
  • @StevenFisher:感谢您的提醒,如果需要,我会查看并更改许可证。我希望社区可以使用它! :)

标签: ios ipad uibutton uikeyboard


【解决方案1】:

如果你想主要在 IB 中做,那么可以做到以下几点:

  • 尺寸
  • 颜色
  • 背景颜色
  • 字体
  • 文字颜色
  • 阴影(对 UILabel 不是 UITextArea)
  • 间距
  • 自动调整大小

有一个很酷的 PSD 矢量工具包适用于所有类型的 iOS 元素,应该会有所帮助:

http://www.smashingmagazine.com/2008/11/26/iphone-psd-vector-kit/

无论如何,对于其余的答案:

尺寸

对按钮进行截图并在 Photoshop 中确定大小,或者您可以在图像文件上使用 CMD+i 查看像素尺寸。记得使用 CMD+Shift+4 然后拖动(然后空格来截屏)。

颜色

使用预装在 Mac 上的 DigitalColor Meter 应用,各种功能都非常棒。

UIButton 的背景颜色

实际的 UIButton 将具有[UIColor clear] 的背景颜色,但是,对于整个键盘背景,最好在 Photoshop 中创建类似的内容,然后再次使用颜色选择器来获得正确的渐变。然后你可以把它作为背景图片拖到 IB 中。

字体

再次,看看字体/试试 Helvetica

文字颜色

[UIColor black]

阴影:

以编程方式:

[text setShadowOffset:(0,1)]; // One option
[text setShadowOffset:(0,-1); // Another option
[text setShadowColor:[UIColor whiteColor]];

但是,您也可以在 IB 检查器中为 UILabel 设置阴影。

按钮突出显示

查看 UIButton 参考 http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIButton_Class/UIButton/UIButton.html

间距和旋转

如果您使用 IB,那么您只需将按钮拖到任何位置即可。IB 有一些自动调整大小的选项,可根据 TOP、LEFT、RIGHT 和 BOTTOM 确定按钮的间距。您还可以设置它们是否可拉伸。

【讨论】:

  • 谢谢,也许我不清楚我的间距和旋转问题:因为这是一个键盘,所以我有一组按钮,它们均匀分布在 4 行高和 4 行宽之间,它们之间的间距相等所有按钮。当我旋转时,我希望组保持完全相同(大小、间距等),并且只从左到右重新定位,以便整个组保持在屏幕的中心。不幸的是,如果我使用任何可用的自动调整大小选项,该组将转移到一侧或另一侧,而不是保持居中。有关如何解决此问题的任何建议?
  • 将它们放入 UIView 并删除所有自动调整大小选项?
  • 但是它不会在旋转时重新定位......虽然,也许我可以将它们全部放在另一个视图中,让它自动调整大小而不是调整子视图的大小......我会给出的试一试。
  • 好的,我必须把它放在第二个视图中,并将该视图的模式设置为居中,并关闭所有自动调整大小选项。感谢您的帮助。
  • 是的,这就是我将它们放在 UIView 中的意思。那么希望现在一切都好。而且..如果你不介意选择我的答案(如果它修复了它)。
猜你喜欢
  • 2012-12-01
  • 2012-09-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-22
  • 1970-01-01
相关资源
最近更新 更多