我想在我的应用程序中创建一个设置页面,它看起来与我使用Settings.bundle和Root.plist在系统设置应用程序中创建的设置页面完全相同。
是否有一种简单的方法可以访问PSMultiValueSpecifier等控件并将它们添加到实际的视图中?
谢谢!
答案 0 :(得分:10)
这是另一种解决方案:
InAppSettingsKit是一个开源解决方案,可以轻松地将应用内设置添加到iPhone应用中。它通过维护Settings.app窗格使用混合方法。因此用户可以选择更改设置的位置...
要支持传统的Settings.app窗格,应用必须包含至少包含Root.plist的Settings.bundle,以指定设置UI元素与NSUserDefaults键的连接。 InAppSettingsKit基本上只使用相同的Settings.bundle来完成它的工作。这意味着当您想要包含新的设置参数时,没有其他工作要做。它只需要添加到Settings.bundle中,它将显示在应用程序内和Settings.app中。支持所有设置类型,如文本字段,滑块,切换元素,子视图等......
答案 1 :(得分:3)
关于设置应该放在您的应用程序中还是偏好应用程序中的主题是有争议的,主要是因为无法从应用程序中打开设置(如答案Coob链接中所述)并且因为无法添加与设置的交互 - 您可能需要的原因很多,包括有效性/一致性/网络检查等。
因此,您是否希望提供与应用中的设置UI类似的用户界面,我不知道有任何简单或现成的代码可以执行此操作,但Matt Gallagher's code是一个很好的开始自己的。
答案 2 :(得分:3)
Craig Hockenberry有一个名为GenericTableViews的项目,可以帮助您轻松地为设置或表单创建表格视图。
答案 3 :(得分:2)
另一个(由于'新手垃圾邮件保护'而单独发布的帖子'抱歉)。
他们使用“标准”的Settings.bundle方法 - 但很容易在应用程序中呈现。您还可以免费获得系统“设置”行为。
答案 4 :(得分:2)
还有另一种选择:
答案 5 :(得分:0)
在iOS 8及更高版本中,如果您已经拥有设置包,则很容易从应用程序启动到“设置”应用程序来管理它:( Swift 3示例)
if let settingsURL = URL(string: UIApplicationOpenSettingsURLString) {
UIApplication.shared.open(settingsURL)
}