iPhone:我的应用程序中的所有视图都可以有一个“信息”按钮吗?

时间:2010-07-06 09:56:37

标签: iphone xcode uiview uinavigationcontroller uibutton

如标题中所述,我该如何实现这样的功能?

我正在使用下面的代码(在我的viewDidLoad中),获取我主视图的导航控制器上的按钮。

UIButton* infoButton = [UIButton buttonWithType:UIButtonTypeInfoLight];

[infoButton addTarget:self action:@selector(viewWillAppear:) forControlEvents:UIControlEventTouchUpInside];
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:infoButton];

我不确定如何在所有观看中显示它。

3 个答案:

答案 0 :(得分:1)

推送到导航堆栈的每个视图都有一个自己的导航栏。因此,我担心在创建视图时以及将此视图推送到导航堆栈之前,必须将此按钮添加到每个导航栏。

答案 1 :(得分:0)

您只需向窗口添加一个信息按钮,而不是为每个视图控制器创建一个新按钮。由于窗口永远不会改变,因此按钮将始终显示在屏幕上。您只需要注意按钮上没有其他视图。

答案 2 :(得分:0)

我建议您创建一个基本视图控制器,并将栏按钮添加到 viewDidLoad 中的 navigationItem 。然后所有视图控制器都从基本控制器继承,而不是默认的 UIViewController 。这应该可以解决你的问题。