2013-09-27 84 views
11

我想addapt我的代碼到iOS 7UITextAttributeTextShadowOffset被棄用

[[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 deprecatedUITextAttributeTextShadowColor is deprecatedUITextAttributeTextShadowOffset is deprecated

+0

點擊這裏:HTTP://stackoverflow.com/questions/18968305/ios-7-only-app-crashes-at-startup – user2632844

回答

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

這個答案不是很良好的結構並且很難理解。你能否解釋一下符號的含義?因爲它可能不是很有用。 – Trilarion

+0

其實這是一個很好的代碼示例,但同意它缺少解釋 – JOM