我有一个带有 Settings.bundle 的 iPhone 应用程序。此 bundle 中的默认项必须与区域设置相关(例如:对于美国,“公制单位”必须为“关闭”,对于巴西等,“公制单位”必须为“打开”)。
是否有办法保持设置的默认区域设置相关?
最佳答案
前几天我也遇到过类似的问题。据我所知,不同的区域不可能有不同的默认值,所以我用不同的方式解决了这个问题。
我有一个带有默认
华氏度
和摄氏度
的多值设置。默认情况下它被设置为default,这意味着我根据NSLocale设置找出代码中的单位
类似这样的事情:
- (MBUnit)temperatureUnit {
MBUnit tmp = [ud integerForKey:MBUDKeyTemperatureUnit];
if (tmp == MBTemperatureDefaultUnit) {
MBUnit defaultTemperatureUnit;
BOOL isMetric = [[[NSLocale currentLocale] objectForKey:NSLocaleUsesMetricSystem] boolValue];
if (isMetric) {
defaultTemperatureUnit = MBTemperatureCelsiusUnit;
}
else {
defaultTemperatureUnit = MBTemperatureFahrenheitUnit;
}
return defaultTemperatureUnit;
}
return [ud integerForKey:MBUDKeyTemperatureUnit];
}
关于iphone - XCode/iOS 中特定于区域设置的默认设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4937851/