Ios 导航项';无法设置色调颜色 我的情况:
有一个视图a(Ios 导航项';无法设置色调颜色 我的情况:,ios,swift,uinavigationitem,Ios,Swift,Uinavigationitem,有一个视图a(UICollectionViewController&UICollectionViewCell)和视图B(UIViewController)。当我用情节提要中的Segue触摸视图A中的一个单元格时,我想切换到视图B 在情节提要中,我将视图A和视图B与推送序列连接,该序列的标识符是序列视图 SwitchView的功能运行得很好 我的问题是: 使用Push Segue,我不需要添加BackButton(NavigationItem)来返回视图,因为系统会自动装箱一个“Navigat
UICollectionViewController
&UICollectionViewCell
)和视图B(UIViewController
)。当我用情节提要中的Segue
触摸视图A中的一个单元格时,我想切换到视图B
在情节提要
中,我将视图A和视图B与推送序列
连接,该序列的标识符是序列视图
SwitchView的功能运行得很好
我的问题是:
- 使用
Push Segue
,我不需要添加BackButton(NavigationItem
)来返回视图,因为系统会自动装箱一个“NavigationItem”。我尝试了其他类型的segue,比如Modal
,Popover
,但是导航项并不是自动创建的。我想问为什么
- 我想为系统自动创建的
NavigationItem
设置特定的颜色,而不是默认的蓝色,但我找不到它。之后,我只是在prepareforsgue()
中设置颜色,但它不起作用。请告诉我如何设置它的特定颜色
我的代码:
谢谢你的帮助
Ethan Joe要为该导航栏设置tintColor
:
myOtherCardViewController.navigationBar.tintColor = .whiteColor()
为什么使用Modal或PopOver时没有导航栏?因为这就是Modal和Popover的工作原理!您必须为要连接到Modal segue的视图创建另一个导航控制器,如下所示:
我正在使用的另一种技术是,创建单个NavigationController类,设置所有所需的属性(颜色、字体等),然后将故事板中的所有NavigationController链接到该NavigationController类
这样,您就不必重新配置每个导航控制器。要为该导航栏设置tintColor
:
myOtherCardViewController.navigationBar.tintColor = .whiteColor()
为什么使用Modal或PopOver时没有导航栏?因为这就是Modal和Popover的工作原理!您必须为要连接到Modal segue的视图创建另一个导航控制器,如下所示:
我正在使用的另一种技术是,创建单个NavigationController类,设置所有所需的属性(颜色、字体等),然后将故事板中的所有NavigationController链接到该NavigationController类
这样,您就不必重新配置每个NavigationController。您的解决方案
- 您可以在
viewDidLoad
方法中设置隐藏在View_B控制器中的后退按钮,如下所示
class View_BViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
self.navigationItem.hidesBackButton = true;
// Do any additional setup after loading the view.
}
}
- 要设置着色颜色,您必须创建
UINavigationController
的子类,并在UIStoryboard
您的子类将如下所示,以设置着色颜色
class navigationController: UINavigationController {
override func viewDidLoad() {
super.viewDidLoad()
//self.navigationBar.barStyle = UIBarStyle.Default
self.navigationBar.tintColor = UIColor.redColor()
// Do any additional setup after loading the view.
}
//Other stuff
}
愿这对你有帮助 您的解决方案
- 您可以在
viewDidLoad
方法中设置隐藏在View_B控制器中的后退按钮,如下所示
class View_BViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
self.navigationItem.hidesBackButton = true;
// Do any additional setup after loading the view.
}
}
- 要设置着色颜色,您必须创建
UINavigationController
的子类,并在UIStoryboard
您的子类将如下所示,以设置着色颜色
class navigationController: UINavigationController {
override func viewDidLoad() {
super.viewDidLoad()
//self.navigationBar.barStyle = UIBarStyle.Default
self.navigationBar.tintColor = UIColor.redColor()
// Do any additional setup after loading the view.
}
//Other stuff
}
愿这对你有帮助 步骤1:如果必须发生某些事情,请停止使用?
。可能backbarbuttoneim
和leftbarbuttoneim
为零?步骤1:如果必须发生某些事情,请停止使用?
。也许backbarbuttoneim
和leftbarbuttoneim
是零?谢谢你的回答。你的回答很清楚,很有用。谢谢你的回答。你的答案很清楚也很有用。谢谢你的回答。我用了另一种方法来解决它。但还是要谢谢你的回答。谢谢你的回答。我用了另一种方法来解决它。但还是要谢谢你的回答。