在应用程序中向用户显示“条款和条件”的最佳 UI 对象是什么?我想通知用户他们即将将一些视频和数据上传到服务器,并确保他们知道这一点并接受它。
我想过使用 a UIActionSheet
,但我需要显示很多文本,所以这可能不适合。
在应用程序中向用户显示“条款和条件”的最佳 UI 对象是什么?我想通知用户他们即将将一些视频和数据上传到服务器,并确保他们知道这一点并接受它。
我想过使用 a UIActionSheet
,但我需要显示很多文本,所以这可能不适合。
我会选择一个UIWebView
. 毕竟,它可以显示格式华丽的 HTML。在我构建的一个应用程序中,我创建了一个特殊的UIViewController
子类,它加载了一个UIWebView
带有接受/拒绝按钮的子类。作为奖励,您可以将 EULA 保留在您的服务器上,并UIWebView
通过其 URL 进行加载。
我将展示一个模态视图控制器,其中包含一个滚动视图。在该滚动视图中,放置一个多行 UILabel 或 UITextView (禁用编辑)。UILabel 或 UITextView 不应填充滚动视图。在滚动视图的底部,放置您的接受和取消按钮。这里的效果是用户将看到文本正文,但他们必须向下滚动到末尾才能找到按钮以越过屏幕。这类似于 Apple 在更新 iTunes 服务条款时所做的事情,您必须先同意新条款,然后才能下载更多应用程序。
如果您的条款和条件非常短,即一屏或更少,那么您可能甚至不需要滚动视图就可以逃脱。
我会在用户第一次将数据上传到服务器时展示这个模式。然后当他们接受时,将这些数据保存到 NSUserDefaults 或本地 .plist 文件中,这样当您的用户将来点击这一点时,您可以检查他们之前是否接受过该协议,并且不要再次显示它.
如果用户拒绝接受条款并点击取消,那么只需隐藏模态视图控制器,但不要让它们在应用程序中进一步前进。如果他们确实尝试继续,则再次提交条款和条件。
使用两种状态的 uiButton,一旦将未选中的空复选框和其他状态成像为选中的复选框,并带有条款和条件的标签。您可以在 uiwebview 中显示条款和条件。要在 webview 中加载的 inbundle/本地 html 文件或远程文件中的相同条款和条件。