UITextAttributeTextShadowOffset устарел

Я пытаюсь добавить мой код в iOS 7.

 [[UIBarButtonItem appearance] setTitleTextAttributes:@{
                            UITextAttributeTextColor: [UIColor colorWithRed:214.0f/255.0f green:210.0f/255.0f blue:197.0f/255.0f alpha:1.0f],
                      UITextAttributeTextShadowColor: [UIColor colorWithWhite:0.0f alpha:0.750f],
                     UITextAttributeTextShadowOffset: [NSValue valueWithCGSize:CGSizeMake(0.0f, 1.0f)]

Я получаю несколько ошибок, UITextAttributeColor is deprecated, UITextAttributeTextShadowColor is deprecated и UITextAttributeTextShadowOffset is deprecated.

Ответ 1

NSShadow *shadow = [NSShadow new];
[shadow setShadowColor: [UIColor colorWithWhite:0.0f alpha:0.750f]];
[shadow setShadowOffset: CGSizeMake(0.0f, 1.0f)];

[[UIBarButtonItem appearance] setTitleTextAttributes:@{
  NSForegroundColorAttributeName: [UIColor colorWithRed:214.0f/255.0f green:210.0f/255.0f blue:197.0f/255.0f alpha:1.0f],
  NSShadowAttributeName: shadow]
}];

Ответ 2

NSShadow *shadow = [NSShadow new];
[shadow setShadowColor : [UIColor colorWithWhite:0.0f alpha:0.750f]];
[shadow setShadowOffset : CGSizeMake(0.0f, 1.0f)];

[[UITabBarItem appearance] setTitleTextAttributes:
@{ 
    NSFontAttributeName : [UIFont fontWithName:@"AmericanTypewriter" size:10.0f],
    NSForegroundColorAttributeName : [UIColor grayColor],
    NSShadowAttributeName: shadow
}
forState:UIControlStateNormal];

[[UITabBarItem appearance] setTitleTextAttributes:
@{ 
    NSFontAttributeName : [UIFont fontWithName:@"AmericanTypewriter" size:10.0f],
    NSForegroundColorAttributeName : [UIColor blackColor],
    NSShadowAttributeName : shadow
}
forState:UIControlStateSelected];

Ответ 3

UIColor *blue = [UIColor colorWithRed:64.0/255.0
                                green:119.0/255.0
                                 blue:255.0/255.0
                                alpha:1.0];

NSShadow *shadow = [NSShadow.alloc init];
shadow.shadowColor = [UIColor clearColor];

NSDictionary *attributes = @{
                              NSForegroundColorAttributeName: blue,
                              NSShadowAttributeName: shadow
                              };

[[UIBarButtonItem appearance] setTitleTextAttributes:attributes
                                            forState:UIControlStateNormal];