我想爲NavigationBar和TabBar設置背景顏色。它必須是包含兩個十六進制顏色的漸變。我如何在Objective-C中做到這一點? 謝謝,設置NavigationBar和TabBar背景顏色與漸變在objective-c
回答
這將幫助你改變導航條&標籤欄
UINavigationController *navigationController;
...
navigationController.navigationBar.tintColor = [UIColor blackColor];
UITabBarController *tabBarCon;
...
tabBarCon.tabBar.tintColor = [UIColor blueColor];
謝謝你的回答,但背景顏色必須是包含兩個十六進制顏色的漸變。我怎樣才能實現這個? – realuser
我不明白包含十六進制顏色的漸變。但是我建議你在繼續之前請參閱這個[link](http://stackoverflow.com/questions/1979165/applying-background-gradient-to-a-grouple-table-cell)。 –
您有兩種顏色,它們是兩個端點,漸變應該從第一種顏色平滑流動到第二種顏色。這裏唯一的區別是realuser有兩個他需要使用的十六進制顏色,而不僅僅是一種顏色。這基本上是一個自定義漸變,並且還有其他一些關於這個問題的問題,只是沒有十六進制顏色。 – ekinnear
的顏色使用TabBar我有我的應用程序同樣的問題,我想出了以下事項:的applicationDidFinishLaunching 方法我創建了一個繪製漸變的函數,並使用我的UITabBarController的實例根據設備的寬度設置正確的漸變框架。
- (UIImage *)drawGradientInView:(UITabBarController *) tabBarVC {
CAGradientLayer *gradient = [CAGradientLayer layer];
gradient.frame = CGRectMake(CGRectGetMinX(tabBarVC.tabBar.frame), CGRectGetMinY(tabBarVC.tabBar.frame), CGRectGetWidth(tabBarVC.view.frame), CGRectGetHeight(tabBarVC.tabBar.frame));
gradient.colors = @[(__bridge id)[UIColor colorWithRed:220.0/255.0 green:220.0/255.0 blue:220.0/255.0 alpha:1.0].CGColor, (__bridge id)[UIColor whiteColor].CGColor];
gradient.startPoint = CGPointMake(0.0, 0.5);
gradient.endPoint = CGPointMake(0.5, 0.5);
UIGraphicsBeginImageContext(gradient.bounds.size);
[gradient renderInContext:UIGraphicsGetCurrentContext()];
UIImage *gradientImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
return gradientImage;
}
得到的UITabBarController
實例UITabBarController *tabVC = (UITabBarController *)[UIApplication sharedApplication].windows.firstObject.rootViewController;
設定梯度
[UITabBar appearance].backgroundImage = [self drawGradientInView:tabVC];
我不知道這是一個正確的做法,但它確實爲我工作。
對於導航欄,我的子類,並定製的,在layoutSubviews
- (void)layoutSubviews {
[super layoutSubviews];
CAGradientLayer *gradient = [CAGradientLayer layer];
gradient.frame = CGRectMake(0, 0, CGRectGetWidth(self.bounds), CGRectGetHeight(self.bounds) + CGRectGetHeight([UIApplication sharedApplication].statusBarFrame));
gradient.colors = @[(__bridge id)[UIColor colorWithRed:220.0/255.0 green:220.0/255.0 blue:220.0/255.0 alpha:1.0].CGColor, (__bridge id)[UIColor whiteColor].CGColor];
gradient.startPoint = CGPointMake(0.0, 0.5);
gradient.endPoint = CGPointMake(0.5, 0.5);
UIGraphicsBeginImageContext(gradient.bounds.size);
[gradient renderInContext:UIGraphicsGetCurrentContext()];
UIImage *gradientImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
[self setBackgroundImage:gradientImage forBarMetrics:UIBarMetricsDefault];
}
希望這將幫助你..
- 1. 爲surfaceview設置漸變背景顏色
- 2. 將背景設置爲漸變顏色
- 3. 爲uibutton背景圖像設置漸變顏色(顏色)iphone sdk
- 4. 顏色漸變的背景
- 5. 漸變顏色背景?
- 6. tabBar中的漸變背景
- 7. TabBar的漸變背景?
- 8. IE11漸變顏色在背景
- 9. 將NavigationBar背景設置爲純色
- 10. Delphi - 設置Excel單元格背景顏色漸變
- 11. iOS UITableView:使用CAGradientLayer將背景顏色設置爲漸變
- 12. 設置背景顏色和設置圖像在ImageButton背景 - Android
- 13. iOS7 navigationBar和TabBar顏色行爲奇怪
- 14. 設置漸變背景
- 15. ActionBarSherlock設置漸變背景
- 16. 的TabBar背景顏色和IOS 5
- 17. 更改背景顏色作爲漸變
- 18. iOS - NavigationBar背景和UIView背景之間的顏色差異
- 19. 設置背景顏色改變按鈕
- 20. jquery設置變量的背景顏色
- 21. 設置背景顏色2
- 22. 設置背景顏色
- 23. Angular4背景顏色設置
- 24. 設置背景顏色[JAVA]
- 25. angular2設置背景顏色
- 26. 設置背景顏色
- 27. 設置背景顏色
- 28. 設置背景顏色:Android
- 29. Cardview設置背景顏色
- 30. 設置背景顏色toolbaritems
你有什麼實際試過? –