问题标签 [uitabbarcontroller]

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 投票
6 回答
25677 浏览

ios - 自定义标签栏上的更多菜单

我在我的应用程序上使用标签栏 (UITabBarController),我希望自定义单击更多按钮时出现的表格的外观。我已经研究出如何通过设置更改更多屏幕上导航栏的外观

在 UITabBarController 的子类中,我设法通过修改来更改表格的背景颜色

,但我不知道如何更改表格上出现的单元格中的字体颜色。我希望我可以使用

但这似乎总是空的。我试过在 viewDidLoad、viewWillAppear 和 viewDidAppear 中这样做,但没有成功。对象 self.moreNavigationController.topViewController 的类型是 UIMoreListController,它似乎没有记录,我在界面中看不到任何对我有帮助的明显内容。

有任何想法吗?

0 投票
3 回答
4228 浏览

iphone - UITabBarController 和旋转

我对 UITabBarController 有一个真正的问题。我追求的结果如下: 1)在纵向模式下,一个简单的基于标签栏的应用程序(带有导航栏)没什么太花哨的。2)在横向模式下,我想使用我自己的 UIViewController 完全忽略 UITabBar。

我最后尝试的方法(我尝试了许多变体)我不明白为什么不“工作”如下:

  • 我有一个自定义 UIViewController(称为此 AA),它假设管理“一切”。
  • 此控制器在应用程序启动时添加到窗口,并在其 loadView 中创建两个控制器:一个 UITabBarController(调用此 TBC)和一个 UILandscapeController(调用此 LSC)。然后我将 tabbarcontroller 视图添加为 AA 视图的子视图。
  • 现在在 AA 类中,我覆盖了 didRotate blah 或 willRotate blah 并且基本上想要在两个视图之间切换,我的意思是:(伪代码):从纵向到横向:
  • 当返回纵向时,将其反转。

    我遇到的问题数量(嗯,它简单地旋转错误地创建了一个真正混乱的界面)是完全无法解释的。似乎 tabbarcontroller 视图根本不“喜欢”处于标准视图层次结构中,而是希望直接附加到屏幕上。我想知道实现我的目标的最佳方法是什么以及为什么标签栏不喜欢成为视图的子视图,

    任何提示大多赞赏。

    -t

    0 投票
    4 回答
    13167 浏览

    iphone - 苹果手机:TabView + TableView

    我想我错过了一些简单的东西,但我无法弄清楚它到底是什么。

    我正在尝试使用 设置一个应用程序UITabViewController,其中一个选项卡将有一个 UITableView 和 UISearchBar (但没有导航控制器)。我在界面生成器中设置了UITabViewController所有选项卡,并且视图位于它们自己的 xib 文件中。带有 的选项卡的 xib 文件UITableView设置和连接如下。

    浏览器中的内容:文件的所有者(类是我的自定义类,它是 UITableViewController 的子类)视图 -> 视图

    此设置显示所有项目并且不会锁定,但是当我尝试使用 UITableView 加载选项卡时,我无法分配 DataSource 而不会崩溃。我应该怎么做才能将数据输入到这个表中,无论是在 IB 还是代码中?我的想法如下:

    1. 实现自定义 UITableView 类,连接到 IB 中的表视图或 Xcode 中的自定义 tableviewcontroller。
    2. 将头或笔记本电脑靠在墙上,直到它起作用。

    更新:这是当我连接 Tableview 的数据源并委托给文件所有者(谁的类是我的自定义 tableviewcontroller)时模拟器推送到控制台的错误。

    2/14/09 6:59:12 PM TabBarWillbeRight[33172] * 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“* -[UIViewController tableView:numberOfRowsInSection:]: 无法识别的选择器发送到实例 0x523760

    0 投票
    18 回答
    129863 浏览

    ios - 更改 UITabBar 的色调/背景颜色

    UINavigationBar 和 UISearchBar 都有一个 tintColor 属性,允许您更改这两个项目的色调颜色(我知道,这很奇怪)。我想在我的应用程序中对 UITabBar 做同样的事情,但现在找到了将其从默认黑色更改的方法。有任何想法吗?

    0 投票
    9 回答
    75094 浏览

    iphone - 导航控制器内的标签栏控制器,或共享导航根视图

    我正在尝试实现一个类似于Tweetie应用程序中的 UI 结构,其行为如下:顶级视图控制器似乎是一个导航控制器,其根视图是一个“帐户”表视图。如果您单击任何帐户,它将进入第二级,底部有一个标签栏。每个选项卡项显示一个不同的列表,让您可以进一步向下钻取(后续级别不显示选项卡栏)。

    因此,这似乎是实现层次结构:

    • UINavigationController
      1. 账户UITableViewController
      2. UITabBarController
        1. 推文UITableViewController
          • 推文/用户/等的详细视图
        2. 回复UITableViewController
        3. ...

    这似乎有效[^1],但根据 SDK 文档似乎不受支持-pushViewController:animated:(强调添加):

    viewController:被压入堆栈的视图控制器。它不能是标签栏控制器的实例。

    我想避免使用私有 API 等,但我不确定为什么即使它看起来工作正常,也明确禁止这种用法。有人知道原因吗?

    我考虑过将标签栏控制器作为主控制器,每个标签都包含单独的导航控制器。这样做的问题是每个导航控制器都需要共享一个根视图控制器(即Tweetie中的“帐户”表)——这似乎不起作用:将表控制器推到第二个导航控制器似乎将其删除从一开始。更不用说选择不同帐户时的所有簿记可能会很痛苦。

    我应该如何以正确的方式实施这个?

    [^1]:标签栏控制器需要被子类化,以便标签栏控制器在该级别的导航项与所选标签的导航项保持同步,并且各个标签的表格控制器需要将它们各自的详细视图推送到self.tabBarController.navigationController而不是self.navigationController.

    0 投票
    2 回答
    1179 浏览

    iphone - IB 中的 tabBar viewControllers:发送自定义初始化?

    我的基于 tabBarController 的应用程序有几个选项卡。每个都有一个自定义的 viewController 类,唯一的区别是实例的初始化方式。有没有办法让界面构建器发送不同的选项卡自定义初始化参数?

    目前我正在 viewWillAppear 中进行初始化,但出于多种原因,在 IB 中而不是在代码中进行初始化是有意义的。

    有什么建议么?

    谢谢,凯尔索

    0 投票
    2 回答
    1001 浏览

    iphone - 如何从 UITabBarController 访问 _tabBar 实例

    我正在尝试从 UITabBarController 访问 _tabBar 实例。我试图在某些情况下隐藏 tabBar,为此,我向 UITabBarController 添加了一个扩展,我可以在其中访问 _tabBar 实例,并调用 setHidden 消息。这在为模拟器编译时有效,但是当我为设备编译时,出现以下错误

    “_OBJC_IVAR_$_UITabBarController._tabBar”,引用自:_OBJC_IVAR_$_UITabBarController._tabBar$non_lazy_ptr in UITabBarController+TabBar.o

    我需要在编译器标志中添加什么?以及为什么在为模拟器编译时它会起作用。

    提前致谢。

    0 投票
    2 回答
    1959 浏览

    iphone - 带有 UITabBarController 的 UITableViewController 不显示

    我遇到了一个有趣的情况,我有一个 iPhone 应用程序,UITableViewController每个 3 秒显示或多或少相同的数据(你可以说这是过滤问题)。迄今为止,我为此有 3 个独立的 NIB,每个都有自己的控制器,此外,为了顶部的按钮,UITableViewControllers 在里面。UINavigationController

    现在为了优化应用程序并减少它的占用空间,我将所有逻辑打包到一个通用控制器 (an UITableViewController) 中,并且只保留了一个 NIB。公共控制器将负责过滤掉数据,并指向正确的数据。

    因此,我将相同的通用控制器加载到 3 个导航控制器:

    并将这些导航控制器添加到UITabBarController

    现在一切都很好,选项卡显示,表格视图显示。但是,一旦您触摸下一个UITabBarItem并返回上一个,UITableViewController则不会显示,您只能UIWindow在其位置看到 a。仅在UITableViewController最后一次触摸时保持可见UITabBarItem

    是否有某种UITabBar我不知道的视图加载机制?

    0 投票
    9 回答
    29368 浏览

    ios - 推送 UIView 时隐藏 UITabBar

    我有一个UITabBarController默认视图控制器是UINavigationController. 当我在UINavigationController.

    我试过添加:

    UINavigationController我推动观点之前,但这似乎并没有奏效。

    关于我应该做什么或者是否有可能的任何提示?提前致谢!

    0 投票
    1 回答
    1208 浏览

    iphone - UITabBarController UINavigationController 内部的内存管理问题

    我必须在 UINavigationController 中使用 UITabBarController。一切似乎都是正确的,但是如果我记录选项卡的 dealloc 调用,就会发生一些奇怪的事情。

    如果我不触摸后退按钮,则会调用每个选项卡的所有 dealloc。如果我切换到任何其他选项卡,然后点击后退按钮,则不会调用第一个选项卡的 dealloc,但其他选项卡会。

    这有什么问题?