繁体   English   中英

不同设备的不同设置?

[英]Different settings for different devices?

我正在开发一个通用的iOS应用程序,它有一些对某些设备毫无意义的设置。 具体来说,我想在纵向宽度低于阈值的设备上隐藏用户的某些设置。 (例如,某些设置不应在iPhone 7上提供,但应在iPhone 7 Plus上提供。)

我知道可以为iPhone和iPad设备设置不同的设置(如本主题所述 ),但这不是我想要的。 我也熟悉特定大小类的布局 ,但这似乎不适用于设置。

是否可以根据运行应用程序的设备的尺寸隐藏(或至少禁用)某些设置?

沿着相同的路线,是否可以根据显示尺寸改变设置的默认值?

对不起,但这是不可能的。 你是对的,你可以拥有不同的设置。适用于iPad和iPhone的捆绑。 由于iOS 4设置plists可以取决于设备:Root~ipad.plist将用于iPad和iPhone上的Root~iphone.plist。 如果不存在,将使用Root.plist。

因此,从我的观点来看,您可以使用此2设置提交实现目标的一部分。 对于更具体的情况,您可以在启动应用时设置一些默认值。 Settings.bundle不能直接从代码修改,因此您无法删除或禁用特定设置,但您可以将其值更改为特定设备上的某个默认值。 Settings.bundle中的每个项目都与NSUserDefaults密钥配对,因此您只需在NSUserDefaults设置值,设置应用程序就会自动反映这一点。 不过,它会被保存在其他地方。 您可以像使用设置包一样,通过NSUserDefaults读取它。

您可以在此答案https://stackoverflow.com/a/32648047/5285151中找到代码示例

另一个有趣的选择是使用https://github.com/futuretap/InAppSettingsKit ,它将与原生设置界面相同的内容添加到应用程序中。 此内部设置与设备设置同步,但您可以对其进行更多控制。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM