我正在尝试创建一个带有标题和两个自定义baritems的自定义导航栏。
到目前为止我做了什么:
1.子类UINavigationBar
2.覆盖-(void) drawRect:(CGRect)rect
方法,将图像绘制为背景
现在我在制作正确的按钮项目时卡住了
在我的CustomBar类中,我按以下方式覆盖pushNavigationItem
方法:
- (void)pushNavigationItem:(UINavigationItem *)item animated:(BOOL)animated {
[super pushNavigationItem:item animated:NO];
item.rightBarButtonItem.customView.frame = CGRectMake(250, 5, 60,30);
}
在我的视图控制器中我做过类似的事情:
UIBarButtonItem *barButton = [[UIBarButtonItem alloc] initWithCustomView:myButton];
self.navigationController.navigationItem.rightBarButtonItem = barButton;
[self.navigationController.navigationBar pushNavigationItem:self.navigationItem animated:NO]
但是在调用
时我总是得到SIGABRT[super pushNavigationItem:item animated:NO];
如果我退出该行,一切运行正常,但导航栏中没有按钮。
将自定义栏按钮项添加到自定义导航栏的正确方法是什么?
编辑: 为了澄清,我添加了一张图片。
这就是我需要的。
我正在尝试在右侧创建退出按钮
答案 0 :(得分:0)
您是否尝试在设置项目时删除navigationController
?我曾经这样设置标题,从来没有用过标题。
尝试[[self navigationItem] setRightBarButtonItem:yourButton];
在你的情况下:
UIBarButtonItem *barButton = [[UIBarButtonItem alloc] initWithCustomView:myButton];
self.navigationItem.rightBarButtonItem = barButton;`