首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将图像UIBarItem添加到UINavigationController或备用图像

将图像UIBarItem添加到UINavigationController或备用图像
EN

Stack Overflow用户
提问于 2012-05-16 17:07:28
回答 4查看 966关注 0票数 0

我在一个应用程序上有一个带左键和右键的UINavigationController,它被用作一个硬件的遥控器。我想通过在右侧按钮左侧的导航栏中显示一个图标来显示硬件已连接到应用程序。从文档中看,我似乎只能添加UIBarButtonItems,这让我怀疑还有另一个更传统的地方来放置我的“连接发光二极管”指示灯。

所以我的问题是,我可以在UINavigationController导航栏中显示一个图标吗?如果不能,我应该在哪里显示它?

EN

回答 4

Stack Overflow用户

发布于 2012-05-16 17:27:29

UINavigationBarUIView的子类,所以您可以像这样向它添加项:

代码语言:javascript
复制
[navBar addSubview:whatever];

导航栏是导航控制器的一个属性(例如,您可以像这个self.navigationController.navigationBar一样引用它)。

票数 0
EN

Stack Overflow用户

发布于 2012-05-16 17:31:47

对于这样的事情,并没有真正的“传统场所”。:)

我怀疑这个“连接的发光二极管”应该显示在所有视图上,而不管当前的视图(及其UINavigationItem)。如果这是正确的,最简单的方法可能是不把这个图标放在实际的UINavigationBar中,而是把它作为一个单独的UIView放在UINavigationBarsuperview中。

票数 0
EN

Stack Overflow用户

发布于 2012-05-16 17:35:40

您应该能够通过编程创建一个uiview,并将其添加为导航栏的子视图

代码语言:javascript
复制
UIImageView *connectedView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"connected-icon.png"]];
[self.navigationController.navigationBar insertSubview:connectedView atIndex:0];
[connectedView release];

如果insertSubview不能像您期望的那样工作,请尝试addSubview:

代码语言:javascript
复制
[self.navigationController.navigationBar addSubview:connectedView];

不过,您可能希望将connectedView创建为一个属性,以便在不再“连接”时(更容易)将其删除。

see this other examples of the approach

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10615287

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档