我尝试使用UINavigationBar
设置Xamarin
MonoTouch
的样式。在UIViewController
的构造函数中,我尝试了以下内容:
//this.NavigationController.NavigationBar.TintColor = UIColor.Magenta;
UINavigationBar.Appearance.TintColor = UIColor.Yellow;
但是,如果我尝试在模拟器中运行它,则没有任何改变。我应该在哪里放置此代码?如何使用RGB颜色(UIColor.FromRGB (0, 127, 14)
?)我的代码是否正确?
答案 0 :(得分:3)
我的解决方案:
//AppDelegate.cs
public partial class AppDelegate : UIApplicationDelegate
{
// class-level declarations
UIWindow window;
public static UIStoryboard Storyboard = UIStoryboard.FromName ("MainStoryboard", null);
public static UIViewController initialViewController;
// ...
public override bool FinishedLaunching (UIApplication app, NSDictionary options)
{
window = new UIWindow (UIScreen.MainScreen.Bounds);
initialViewController = Storyboard.InstantiateInitialViewController () as UIViewController;
UINavigationBar.Appearance.SetTitleTextAttributes (
new UITextAttributes () { TextColor = UIColor.FromRGB (0, 127, 14) });
window.RootViewController = initialViewController;
window.MakeKeyAndVisible ();
return true;
}
}
答案 1 :(得分:2)
假设你正在为iOS7开发,你需要设置BarTintColor。
UINavigationBar.Appearance.BarTintColor = UIColor.Red;
UINavigationBar.Appearance.BarTintColor = UIColor.FromRGB(0, 127, 14);
请参阅:How to change UINavigationBar background color from the AppDelegate
将此代码放在AppDelegate.cs
中答案 2 :(得分:0)
试试这个..
NSDictionary *textTitleOptions = [NSDictionary dictionaryWithObjectsAndKeys:[UIColor darkGrayColor], UITextAttributeTextColor, [UIColor whiteColor], UITextAttributeTextShadowColor, nil];
[[UINavigationBar appearance] setTitleTextAttributes:textTitleOptions];
答案 3 :(得分:0)
你应该具体使用UIViewController,如:
viewController.navigationBar.tintColor = [UIColor yellowColor];
或在UIViewController中
self.navigationBar.tintColor = [UIColor yellowColor];