/ ios

iOS8,9の違いを幾つか その1

次があるかわかりませんが、その1。

UIView Class

再描画でよく使われるメソッド

- (void)layoutIfNeeded;

深度が違うようです。iOS9だと再帰的に適応されるようですが、iOS8だと深度が1か2か。
再描画されないなーということがありました。
気づいた時はframeの変更をしようとした時でした。

NSLocale Class

- (NSArray<NSString *>*)preferredLanguages

出力する。

NSLog(@"%@", [NSLocale preferredLanguages]);

iOS8系

(
    ja,
    en,
    "zh-Hans",
    de
)

この設定をしているiPhone(4S iOS8.3)のSS

iOS9系

iOS9.0

実機で確認したところiOS8系と同じでした。

iOS9.1

(
    "ja-JP",
    "en-JP",
    "de-JP",
    "zh-Hans-JP"
)

この設定をしているiPhone(6Plus iOS9.1)

iOS9からはPOSI...POSIXではないです。POSIXであればja_JPen_USのように_で区切られるはずですし。。。
多分iOS9系のフォーマットは<ロケール>-<表示言語コード>という形になったんですかね。