本文由CocoaChina译者呆萌院长( 博客 )翻译自 苹果开发者中心
校对: hyhSuper( GitHub )
原文: App Programming Guide for tvOS:Building Apple TV Apps--Designing the Keyboard Input Experience
本文档文章包括
Apple TV 编程指南:介绍
Apple TV 编程指南:创建Client-Server App
Apple TV 编程指南:使用Apple TV遥控器控制屏幕上的用户界面
Apple TV 编程指南:检测手势和按钮按压
Apple TV 编程指南:设计键盘输入体验
Apple TV 编程指南:使用游戏控制器
Apple TV 编程指南:创造视差美术资源
Apple TV 编程指南:资源管理
设计键盘输入体验
因为没有硬件键盘,苹果电视的键盘输入很难使用,所以你需要额外的关注以确保你的用户有一个愉快的体验。在尽可能的情况下,设计你的用户界面,以避免过多的文字输入。苹果电视有两种种键盘:正常和内联键盘。
使用 UIAlertController 和 UITextField 可以自定做键盘体验,并且为你的应用程序创建特定的键盘;例如,电子邮件特殊类型键盘、数字键盘,等等。 UIAlertController 和 UITextField 支持所有 UIKit/UITextInputtrailt.h 中所有可能的 option 选项。 inputAccessoryView 和 inputAccessoryViewController 的 API 还允许你自定义键盘体验。
键盘UI是完全由 UIKit 控制,但是用 UIAlertController 允许你添加任意数量的文本框和按钮。你可以把指导性的文本和标题放在键盘上方。这个键盘很容易学习和使用,但是一般情况下,为了输入信息,用户需要在遥控器上点击很多次。
使用 UITextField 将一个全屏幕的键盘放在在屏幕上。用户使用在键盘上的下一个和前一个按钮,实现多个文本框之间来回切换功能。这就避免了推出当前文本框的输入,让下一个文本框获得焦点,然后再次单击编辑输入。在所有文本框都输入完成之后,一个done(完成)按钮被呈现给用户,用来返回到前一页。开发人员可以把这些键盘上的键值放在任何他们要求放的地方,并且这个键盘仍然可以有 next/previous 页的功能。然而,设置这些键盘上的键值制作键盘和使用 UIAlertController 制作键盘相比,需要做更多的工作,因为前者要求你必须创建所有需要的视图并给他们合适的布局。
所有的 iOS 平台第一响应机制完全适用于 tvOS 平台。这允许开发人员弹出了一个可见或隐藏的用户界面,然后通过调用 becomeFirstResponder 方法将一个文本框作为第一响应者。这个动作会使文本框在没有用户浏览到文本框的并点击它的情况下,调起键盘视图。当用户退出键盘输入或点击完成按钮,使用第一个响应回调使得文本框不再接受键盘输入。
内嵌键盘显示一行的所有可能的输入。使用 UISearchController 创建一个可以与第三方内容相互协调的键盘。然而,在使用 UISearchController 时,几乎没有定制选项。你不能访问文本字框本身,不能自定义特性,或者添加输入附件。