我认为这是重复的,但经过研究后我无法理解如何自定义UINavigationItem
。
我有自定义ViewController
(VC
),它实现了自定义类SWRevealViewController
(我需要创建滑动菜单)。
我有Menu VC
,对于菜单的每个元素,我为菜单的每个元素Navigation VC
添加了自定义VC
。
要工作,每个后退按钮必须在Designer
中定义,并且要有插座(我还添加了navigation item
的插座):
@property (weak, nonatomic) IBOutlet UIBarButtonItem *btnSidebareMenu;
@property (weak, nonatomic) IBOutlet UINavigationItem *niTitle;
在我的.m
文件中,我有以下代码:
self.navigationItem.title = @"Custom title";
self.navigationController.topViewController.navigationItem.leftBarButtonItem = self.btnSidebareMenu;
self.btnSidebareMenu.enabled=TRUE;
self.btnSidebareMenu.style=UIBarButtonSystemItemRefresh;
为每个Menu element VC
自定义按钮和标题。
我使用此代码管理导航到菜单:
// Manage menu button
SWRevealViewController *revealViewController = self.revealViewController;
if ( revealViewController )
{
[self.btnSidebareMenu setTarget: self.revealViewController];
[self.btnSidebareMenu setAction: @selector( revealToggle: )];
[self.view addGestureRecognizer:self.revealViewController.panGestureRecognizer];
}
导航没问题,但我无法自定义导航栏的外观:
我收到了这个:
,但我需要这样的事情:
有任何建议如何做到这一点?
修改
好的,我设法显示了适当大小的图片,以更改导航栏的颜色,但我无法使用status bar
和navigation bar
发出问题。当我设置navigation bar
的背景颜色时,它也填充status bar
。我看到不同的解决方案,但它们不起作用或我不理解它们。
备注:我有几个页面不属于我Navigation controller
为白色的status bar
。我的所有页面都需要这样。 (我需要它们看起来像图像2,状态栏是白色,导航部分是蓝色)。
答案 0 :(得分:2)
使用此选项可更改图标的颜色:
self.navigationController.navigationBar.tintColor = [UIColor redColor];
应用于导航项和条形按钮项的色调颜色。
答案 1 :(得分:1)