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

发布于 2024-09-08 07:36:33 字数 412 浏览 2 评论 0原文

正如标题所说,如何实现这样的功能呢?

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

UIButton* infoButton = [UIButton buttonWithType:UIButtonTypeInfoLight];

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

不知道如何让它显示在我的所有视图中。

As mentioned in the title, how do I implement such a functionality?

I am using the code below, (in my viewDidLoad), to get the button on my Navigation Controller of my main view.

UIButton* infoButton = [UIButton buttonWithType:UIButtonTypeInfoLight];

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

Not sure how I can get it displayed in all my views.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

尽揽少女心 2024-09-15 07:36:33

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

Each view pushed to the navigation stack has an own navigation bar. So I afraid you have to add this button to each navigation bar, when you create a view and before you push this view to the navigation stack.

西瑶 2024-09-15 07:36:33

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

You could simply add an info button to the window, instead of creating a new button for each view controller. Since the window never changes, the button will always be on screen. You only have to take care that no other views are on top of the button.

不知在何时 2024-09-15 07:36:33

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

I would suggest you create an base view controller, and add the bar button to your navigationItem in viewDidLoad. Then all your view controllers subclass from the base controller, rather than the default UIViewController. This should solve your problem.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文