2012-07-06 106 views
5

我正在开发一个iPhone应用程序,默认情况下用户保持登录状态。如果他想注销,他应该打开设置并单击一个“注销”按钮,这将清除他的数据并要求下次登录时登录被打开。我如何添加这样的按钮?作为Twitter的设置如何将按钮添加到settings.bundle?

enter image description here

回答

4

不幸的是,这种利用公共API是不可能的。请记住,苹果为它保留了许多许多未公开的(非常酷的)功能,并且它是合作伙伴的应用程序。您仅限于以下内容:

文本字段:文本字段类型显示标题(可选), 可编辑的文本字段。您可以使用此类型的首选项,以便 要求用户指定自定义字符串值。此 类型的关键是PSTextFieldSpecifier。

标题:标题类型显示一个 只读字符串值。您可以使用此类型显示首选值的只读 。 (如果首选项包含隐含或不直观的值,则可使用此类型将可能值映射到自定义字符串。) 此类型的关键字为PSTitleValueSpecifier。

拨动开关: 拨动开关类型显示ON/OFF切换按钮。您可以使用此 类型来配置只能有两个值中的一个的首选项。 尽管您通常使用此类型来表示包含布尔值的首选项 ,但您也可以将其与包含非布尔值的首选项 一起使用。这种类型的关键是 PSToggleSwitchSpecifier。

滑块:滑块类型显示滑块 控件。您可以将此类型用于表示 值范围的首选项。此类型的值是您指定的最小值和最大值的实数。这种类型的关键是 PSSliderSpecifier。

多值:多值类型让用户从值列表中选择一个值为 。您可以将此类型用于支持一组互斥值的 首选项。 值可以是任何类型。这种类型的关键是 PSMultiValueSpecifier。

:组类型用于在单个页面上组织首选组 。组类型不代表 可配置首选项。它只包含一个标题字符串,即 ,紧接在一个或多个可配置首选项之前显示。这种类型的密钥 是PSGroupSpecifier。

:窗格子窗格类型 可让用户导航到新的偏好页面。您可以使用此类型 来实现分层首选项。有关 如何配置和使用此首选项类型的更多信息,请参阅“分层 首选项”。此类型的密钥为PSChildPaneSpecifier。

+0

是否可以将SomeViewController添加到Settings.bundle? – Shamsiddin 2012-07-06 08:00:47

+0

不,但可以添加一个子窗格,它本质上是一个新的视图控制器。 – CodaFi 2012-07-06 15:42:51

4

由于CodaFi说这是不可能的。但是,使用切换开关来“保持登录状态”可能是一个很好的解决方法。当用户关闭它时,您可以在下次启动时显示登录屏幕。

-1

如果您不介意使用第三方附加组件“InAppSettingsKit”作为应用程序的设置,那么它看起来可以让您按照自己的需要进行操作。我目前正在对此进行研究,但是从快速扫描他们的文档看起来他们会允许您添加按钮以及完全自定义的子窗格视图:http://www.inappsettingskit.com/

在该页面上,研究“ IASKButtonSpecifier“和”自定义查看控制器“。

我会在这里发布一个跟进信息,让你知道这对我是如何解决的。我已经使用了InAppSettingsKit,并且非常喜欢它。

从GitHub下载代码和示例应用程序:https://github.com/futuretap/InAppSettingsKit

然后在您的Xcode打开InAppSettingsKit.xcworkspace学习他们是如何实现的各种不同类型的设置项。他们绝对支持你正在寻找的东西。这真的很令人印象深刻。

Erik

+0

问题在于询问设置包(即iOS设置应用中可用的设置),而不是应用内设置。 – 2017-08-03 15:29:52