2013-09-27 11 views
11

Sto cercando di addapt il mio codice di iOS 7.UITextAttributeTextShadowOffset è deprecato

[[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)] 

sto ottenendo un paio di errori, UITextAttributeColor is deprecated, UITextAttributeTextShadowColor is deprecated, e UITextAttributeTextShadowOffset is deprecated.

+0

Clicca qui: http: //stackoverflow.com/questions/18968305/ios-7-only-app-crashes-at-startup – user2632844

risposta

32
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
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]; 
5
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]; 
+0

Questa risposta non è molto ben strutturato e difficile da capire. Potresti spiegare un po 'cosa significa la notazione? Come è, probabilmente non è molto utile. – Trilarion

+0

In realtà si tratta di un esempio di codice piuttosto buono, ma concorda che mancano le spiegazioni – JOM