Iphone 制作动态导航栏

Iphone 制作动态导航栏,iphone,uinavigationbar,uibarbuttonitem,Iphone,Uinavigationbar,Uibarbuttonitem,我想要一个UINavigationBar,其内容会随着应用程序中的其他事件而更改。最直接的是,我想让工具栏上的按钮动态加载,以响应程序中的其他变量。但在更一般的情况下,我希望能够在程序运行时动态更改UINavigationBar的内容 我遇到的障碍是UINavigationBar在第一次显示时加载了它的内容,而且似乎没有一种方法可以让它在这之后更改内容。最好的解决方法是什么?这很容易做到。最好的方法是在导航栏中预加载所需的不同对象的所有选项,这样您只需根据用户的输入将其切换入和切换出,但您可以动

我想要一个UINavigationBar,其内容会随着应用程序中的其他事件而更改。最直接的是,我想让工具栏上的按钮动态加载,以响应程序中的其他变量。但在更一般的情况下,我希望能够在程序运行时动态更改UINavigationBar的内容


我遇到的障碍是UINavigationBar在第一次显示时加载了它的内容,而且似乎没有一种方法可以让它在这之后更改内容。最好的解决方法是什么?

这很容易做到。最好的方法是在导航栏中预加载所需的不同对象的所有选项,这样您只需根据用户的输入将其切换入和切换出,但您可以动态加载它们。当用户执行要更改导航栏的操作时,只需添加:

self.navigationItem.rightBarButtonItem = nil;
UIBarButtonItem * newButton = [[UIBarButtonItem alloc] initWithTitle:@"What you want to call it" style:UIBarButtonItemStyleBordered target:self action:@selector(whatYouWantTheButtonToCall)];
self.navigationItem.rightBarButtonItem = newButton;
[newButton release];
对于其他选项,然后是按钮,您可以查看。希望有帮助

好的,我找到了一种方法: 编辑导航栏项目后,可以调用 [自动加载视图] …以提示重新加载


这是可行的,但有点糟糕。

你刚才描述的正是失败的地方。如撰写中所述,一旦加载视图,仅更改按钮属性不会更改视图。通过导航栏的内容,您是指导航栏本身,还是指导航栏下显示的当前视图?如果是前者,则上述代码有效。更改导航栏本身。我已经测试了提供的代码片段,但它不起作用。我们讨论的是在屏幕完成加载后动态更改视图。整个问题是属性的更改不会出现。答案是在进行所需更改后在viewController上运行[self-loadView]。这不是真的。这在屏幕加载后工作。把它挂在一个按钮上,测试一下。