问题标签 [uitabbaritem]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
777 浏览

objective-c - 如何更改 UITabBarItem 中文本的颜色?

在 UITabBarItem 如何更改文本的颜色。默认情况下,文本以白色显示。我想换成黑色,怎么办?

0 投票
7 回答
39931 浏览

objective-c - iphone应用程序-检测按下了哪个标签栏项目

我有一个基于标签栏的应用程序,有超过 5 个标签栏项目 - 所以我可以直接在视图中显示其中的 4 个,其余的可以通过选择“更多”标签获得。当一个标签栏项目被按下时,我想检测它是哪一个。
因此,在该
- (void)tabBarController:(UITabBarController *)tabBarCtrl didSelectViewController:(UIViewController *)viewController方法中,我使用tabBarCtrl.selectedViewController.title来获取项目的标题。

这适用于视图中可见的选项卡 - 即第 4 个和“更多”选项卡 - 但不适用于按“更多”选项卡后显示在列表中的其余选项卡栏项目。

我可以看到从“更多”列表中选择选项卡时甚至没有调用 didSelectViewController 方法。
按下时如何检测到它们中的任何一个?

先感谢您。

0 投票
0 回答
3116 浏览

iphone - iphone应用程序 - 如何检测最后按下哪个标签栏项目

这是我上一个问题
的续集,我 有一个基于标签栏的应用程序。每个标签栏项目代表一个 RSS 提要。当我按下标签栏项目时,存储在“全局”对象(单例)中的 rss url 发生变化,并且 rss 解析器开始解析 rss 提要。结果显示在表格视图中。
要检测按下了哪个标签栏项目(以便解析正确的 url),在

我使用的方法tabBarCtrl.selectedViewController.title来获取项目标题。
我有很多标签栏项目,其中4个直接显示在视图中,其余的在按下“更多”项目后显示。
问题是该didSelectViewControler方法仅在前 5 个标签栏项目被按下时才被调用。当我按下“更多”列表中的任何项目时,我无法获得标题,所以我遵循了我上一个问题中给出的解决方案(参见第一行的链接)。

通过调用该didSelectViewController方法,我设法获取按下的标签栏项目的标题,但只有在解析器运行并且视图出现之后。因此,对于从“更多”列表中选择的每个项目,我都会从我的上一个(上一个)选择中获取 rss 提要。

有什么想法可以解决这个问题吗?
如果您需要我可以提供的任何进一步信息,我会尽力解释它。
希望能从中得到一些东西,因为它真的很紧急......

先感谢您

0 投票
1 回答
1046 浏览

iphone - 如何将 UITabBarItem 标题更改为另一个 UITabBarItem 的标题?

我想将 UITabBarItem 1 的标题更改为 UITabBarItem 4 的标题。

两者都在同一个 UITabBarController 中。

我该如何更改这些标题?

0 投票
4 回答
21029 浏览

iphone - 如何以编程方式删除在父类 NIB 文件中创建的选项卡栏项?

在我的 iPhone 应用程序中,我有一个带有三个选项卡的公共选项卡栏,在按下按钮后会从多个视图中显示。我遵循的方法是 Tweetie 应用程序的工作流程,在Robert Conn 的帖子中进行了描述。

注意主控制器是导航控制器;选项卡栏放置在导航堆栈的视图控制器的 NIB 文件中,选项卡之间的切换效果在委托的 didSelectItem 方法中处理。

由于标签栏的视图必须根据应用程序来自的视图控制器进行自定义,因此我已将其GameTabBarController作为具有标签栏的 NIB 文件的父类。然后,我创建了几个子类:

我的问题是,在某些子类中,我想删除与父类关联的 NIB 文件的第三个选项卡。但由于没有涉及 UITabBarController,我无法遵循您可以在网络上找到的典型方法,即删除标签栏项目的视图控制器。

我怎样才能做到这一点?是否可以删除以前添加到 NIB 文件中的元素?

谢谢!!

更新 解决方案非常简单......我只需替换标签栏项目,而不是视图控制器:

感谢@Praveen S 为我指明了正确的方向。

0 投票
3 回答
2932 浏览

iphone - 第二个选项卡的 UITabbar 项目标题/名称消失

我的 iphone 应用程序中有一个标签栏控制器。一切都很好,直到第二个标签栏项目被点击。单击时,第二个选项卡的选项卡图标下的选项卡项目标题/名称将消失。但是第一个选项卡没有问题。

有谁知道这是什么原因。

0 投票
1 回答
175 浏览

iphone - UITabBarItem 没有注册点击图标

我有四个UITabBarItem。每个都有一个标签和自定义图标。我AppDelegate使用该UITabBarDelegate协议,每次点击 tabbaritem 都会记录到控制台,这样我就可以看到发生了什么。

选择 tabbaritem 的唯一方法是单击标签。如果我单击按钮区域上的其他任何位置,包括图标,则什么也不会发生。

你遇到过类似的事情吗?

0 投票
2 回答
3509 浏览

objective-c - 如何更改选定的文本颜色 UITabBarItem?

可能重复:
在选定的标签栏项目上设置文本颜色

你好,

我正在用 iPhone 的 Objective C 编程。我希望在脉冲时更改标签栏项目的文本颜色。¿ 这可能吗?

非常感谢。

问候。

0 投票
1 回答
520 浏览

cocoa-touch - iOS 3 - 发生内存警告后,UITabBarItems 从 UITabBar 消失

在使用旧 iOS 硬件的人的大量请求下,我目前正在重构和优化我的应用程序,以便它可以在 iOS 3 上运行。话虽如此,我的 UITabBar 有一个小故障,我可以在所有的iPhone 3G 设备我已经对其进行了测试。

该故障似乎已在 iOS 4 中修复,但我想知道在此之前是否有其他人也有此故障,并且已经找到了一个(相对优雅的)解决方法。

问题是您可以在下面看到的内容;当发生内存警告并释放所有屏幕外视图时,当我将带有标签栏的视图控制器带回屏幕时,所有应该在其中的 UITabBarItems 都消失了。据我所知,它们根本没有被绘制;即点击标签栏没有效果。在设置断点并检查 UITabBar 及其在内存中的项目后,它们都仍然存在(即没有被释放),只是在控制器 loadView 方法中重新创建 UITabBar 时它们没有被重绘。

我的应用程序的工作方式类似于官方 Twitter 应用程序,因为我实现了自己的 UITabBarController 版本,因此我可以正确控制它与父 UINavigationController 的集成。不过,我将它设置为尽可能接近原始 UITabBarController 类,所有子视图控制器都处理它们各自的 UITabBarItems 并在类的 init 方法中初始化它们。一旦通过访问器方法将子视图控制器传递给我的 TabController 对象,就会访问 tabBarItems 并将其添加到 UITabBar 视图中。

有没有人见过这种行为并知道我可以解决它的方法?我希望有一个非常简单的解决方法,因为它已经在 iOS 4 中运行,所以我不想把它弄得太糟糕。

非常感谢!

发生内存警告后的主屏幕

0 投票
3 回答
15253 浏览

iphone - 将标签栏项目添加到 UITabBar 时出现问题

我有一个基于选项卡栏的应用程序,我在其中尝试setItems使用UITabBar.

这是代码:

self.level1TabBarItems里面有NSMutableArray4的a在哪里UITabBarItems。当我运行这段代码时,我从编译器中得到一个异常。

NSInternalInconsistencyException,原因:不允许直接修改由标签栏控制器管理的标签栏。

我已经尝试删除UITabBarViewController并再次添加它,但它没有工作。