我正在尝试通过将右侧栏按钮项更改为经典信息灯来自定义导航栏。 由于我不想使用导航控制器,链接问题中提出的代码不起作用。
iPhone: Adding Info button as right bar button item in navigation bar in code
有人知道如何在不实现导航控制器的情况下更改barButtonItem的外观吗?
答案 0 :(得分:2)
试试这个。
UIButton *btn = [UIButton buttonWithType:UIButtonTypeInfoDark];
UIBarButtonItem *barButton= [[UIBarButtonItem alloc] initWithCustomView:btn];
UIView *barButtonView = [barButton valueForKey:@"view"];
barButtonView.frame = CGRectMake(self.view.frame.size.width-barButtonView.frame.size.width,
0,
barButtonView.frame.size.width,
barButtonView.frame.size.height);
[self.view addSubview:barButtonView];
答案 1 :(得分:1)
在你的UIViewController上,你可以添加UINavigationBar,只需在其上添加条形按钮项。它会让你觉得控制器是UINavigationController,但它只是UIViewController上有条形按钮。
现在要更改条形按钮外观,您可以使用以下代码
UIBarButtonItem * barButton = [[UIBarButtonItem alloc] initWithImage:@“info.png”style:UIBarButtonItemStylePlain target:self action:@selector(onBarButtonDidTap :);