在导航栏中创建信息按钮,而不使用导航控制器

时间:2015-10-15 09:46:59

标签: ios

我正在尝试通过将右侧栏按钮项更改为经典信息灯来自定义导航栏。 由于我不想使用导航控制器,链接问题中提出的代码不起作用。

iPhone: Adding Info button as right bar button item in navigation bar in code

有人知道如何在不实现导航控制器的情况下更改barButtonItem的外观吗?

2 个答案:

答案 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 :);