在 SFSafariViewController 上设置完成按钮颜色
Set Done Button Colour on SFSafariViewController
我正在使用 SFSafariViewController
访问从 UITableViewController
调用的网站。因为我的应用程序有一种非常轻盈的感觉,所以我在 AppDelegate
:
中添加了以下代码行
self.window.tintColor = [UIColor whiteColor];
当 运行 为 SFSafariViewController
时,我得到以下信息:
我可以将 Done
按钮的颜色更改为蓝色(默认)吗?
我在调用 SFSafariViewController
时尝试了以下方法但没有效果:
[self presentViewController:safariVC animated:YES completion:^{
safariVC.navigationController.navigationItem.rightBarButtonItem.tintColor = [UIColor blueColor];
[self presentViewController:safariVC animated:YES completion:^{
safariVC.navigationController.navigationBar.tintColor = [UIColor blueColor];
}];
这些都不起作用。
我当然可以将应用程序保留为默认设置,并从 AppDelegate
中删除白色设置,但我希望在应用程序中采用这种方法,因为蓝色在自定义主题方面太突出了。
任何关于这方面的指导将不胜感激。
您可以使用 appearance
代理全局更改条形颜色:
尝试
[[UINavigationBar appearance] setTintColor:[UIColor blueColor]];
[[UIBarButtonItem appearance] setTintColor:[UIColor blueColor]];
否则试试
[self presentViewController:safariVC animated:YES completion:^{
[safariVC.navigationBar setTintColor:[UIColor blueColor]];
}];
否则试试
在AppDelegate.m函数中:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
我输入了以下代码:
//SFSafariViewController
[[UINavigationBar appearanceWhenContainedIn:[SFSafariViewController class], nil] setBarTintColor:[UIColor blueColor]];
[[UINavigationBar appearanceWhenContainedIn:[SFSafariViewController class], nil] setTintColor:[UIColor blueColor]];
或添加您的 ViewDidLoad
[self.navigationController.navigationBar setTintColor:[UIColor whiteColor]];
Swift
UINavigationBar.appearance().tintColor = UIColor.blueColor()
UIBarButtonItem.appearance().tintColor = UIColor.blueColor()
否则试试这个
self.presentViewController(safariVC, animated: true, completion: {() -> Void in
safariVC.navigationBar.tintColor = UIColor.blueColor()
})
或喜欢
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject : AnyObject]?) -> Bool {
UINavigationBar.appearanceWhenContainedIn(SFSafariViewController.self, nil).barTintColor = UIColor.blueColor()
UINavigationBar.appearanceWhenContainedIn(SFSafariViewController.self, nil).tintColor = UIColor.blueColor()
}
或者最后试试这个
self.navigationController.navigationBar.tintColor = UIColor.whiteColor()
试试看
setPreferredControlTintColor
设置完成按钮的色调颜色
我正在使用 SFSafariViewController
访问从 UITableViewController
调用的网站。因为我的应用程序有一种非常轻盈的感觉,所以我在 AppDelegate
:
self.window.tintColor = [UIColor whiteColor];
当 运行 为 SFSafariViewController
时,我得到以下信息:
我可以将 Done
按钮的颜色更改为蓝色(默认)吗?
我在调用 SFSafariViewController
时尝试了以下方法但没有效果:
[self presentViewController:safariVC animated:YES completion:^{
safariVC.navigationController.navigationItem.rightBarButtonItem.tintColor = [UIColor blueColor];
[self presentViewController:safariVC animated:YES completion:^{
safariVC.navigationController.navigationBar.tintColor = [UIColor blueColor];
}];
这些都不起作用。
我当然可以将应用程序保留为默认设置,并从 AppDelegate
中删除白色设置,但我希望在应用程序中采用这种方法,因为蓝色在自定义主题方面太突出了。
任何关于这方面的指导将不胜感激。
您可以使用 appearance
代理全局更改条形颜色:
尝试
[[UINavigationBar appearance] setTintColor:[UIColor blueColor]];
[[UIBarButtonItem appearance] setTintColor:[UIColor blueColor]];
否则试试
[self presentViewController:safariVC animated:YES completion:^{
[safariVC.navigationBar setTintColor:[UIColor blueColor]];
}];
否则试试
在AppDelegate.m函数中:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
我输入了以下代码:
//SFSafariViewController
[[UINavigationBar appearanceWhenContainedIn:[SFSafariViewController class], nil] setBarTintColor:[UIColor blueColor]];
[[UINavigationBar appearanceWhenContainedIn:[SFSafariViewController class], nil] setTintColor:[UIColor blueColor]];
或添加您的 ViewDidLoad
[self.navigationController.navigationBar setTintColor:[UIColor whiteColor]];
Swift
UINavigationBar.appearance().tintColor = UIColor.blueColor()
UIBarButtonItem.appearance().tintColor = UIColor.blueColor()
否则试试这个
self.presentViewController(safariVC, animated: true, completion: {() -> Void in
safariVC.navigationBar.tintColor = UIColor.blueColor()
})
或喜欢
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject : AnyObject]?) -> Bool {
UINavigationBar.appearanceWhenContainedIn(SFSafariViewController.self, nil).barTintColor = UIColor.blueColor()
UINavigationBar.appearanceWhenContainedIn(SFSafariViewController.self, nil).tintColor = UIColor.blueColor()
}
或者最后试试这个
self.navigationController.navigationBar.tintColor = UIColor.whiteColor()
试试看 setPreferredControlTintColor 设置完成按钮的色调颜色