あなたはおそらく私がしたことをし、UITextAttributeTextShadowColor と UITextAttributeTextShadowOffset のコンパイラ警告を熱心に切り取り、置き換えました。したがって、次のようなコードがありました。
NSDictionary *titleAttributes = @{UITextAttributeTextColor: [UIColor whiteColor],
UITextAttributeTextShadowColor: [UIColor blackColor],
UITextAttributeTextShadowOffset: [NSValue valueWithUIOffset:UIOffsetMake(1, 0)],
UITextAttributeFont: [UIFont titleBolder]};
[[UINavigationBar appearance] setTitleTextAttributes:titleAttributes];
両方を NSShadowAttributeName に置き換え、次のようなコードになりました。
NSDictionary *titleAttributes = @{NSForegroundColorAttributeName: [UIColor whiteColor],
NSShadowAttributeName: [UIColor blackColor],
NSShadowAttributeName: [NSValue valueWithUIOffset:UIOffsetMake(1, 0)],
NSFontAttributeName: [UIFont titleBolder]};
[[UINavigationBar appearance] setTitleTextAttributes:titleAttributes];
必要なことは、1 つの属性 NSShadowAttributeName を持ち、影の色と影のオフセットを含む NSShadow のインスタンスを作成することです。
NSShadow *shadow = [[NSShadow alloc] init];
shadow.shadowColor = [UIColor blackColor];
shadow.shadowOffset = CGSizeMake(1, 0);
NSDictionary *titleAttributes = @{NSForegroundColorAttributeName: [UIColor whiteColor],
NSShadowAttributeName: shadow,
NSFontAttributeName: [UIFont titleBolder]};
[[UINavigationBar appearance] setTitleTextAttributes:titleAttributes];