2013-09-27 31 views
11

Próbuję addapt mój kod do iOS 7.UITextAttributeTextShadowOffset jest przestarzała

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

Dostaję kilka błędów, UITextAttributeColor is deprecated, UITextAttributeTextShadowColor is deprecated i UITextAttributeTextShadowOffset is deprecated.

+0

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

Odpowiedz

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

Ta odpowiedź nie jest bardzo dobrze zorganizowany i trudne do zrozumienia. Czy możesz wyjaśnić nieco, co oznacza notacja? Ponieważ jest prawdopodobnie prawdopodobnie mało przydatny. – Trilarion

+0

W rzeczywistości jest to całkiem niezła próbka kodu, ale zgadza się, że brakuje jej wyjaśnienia – JOM

Powiązane problemy