【问题标题】:How to change UITabbarController's More ViewControllers UITableViewCells images?如何更改 UITabbarController 的 More ViewControllers UITableViewCells 图像?
【发布时间】:2017-04-24 07:01:35
【问题描述】:

更多viewcontroller 图像以默认蓝色背景显示,而不是原始图像。我想将它们更改为原始图像并且还想增加UITableViewCell's 高度。 我已经尝试在UITabbarController 上实现 tableview 委托方法,但没有任何结果。 即使moreNavigationController 也没有改变。 1) 我必须在哪里编写这些自定义方法viewDidLoadviewWillAppearshouldSelectViewController 也没有被调用。当我第一次选择一个标签栏项目时,它被调用,当我选择更多项目时,它没有被调用。 2) 我应该在哪里实现UITableView 委托方法。

我的屏幕 -

必需的屏幕 -

使用 swift 的解决方案很有帮助。提前致谢。

【问题讨论】:

标签: ios swift uitabbar


【解决方案1】:

我得到了要求。我遵循的逐步过程是

  1. 获取一个扩展 UITabbarController 的 ViewController。
  2. 获取包含五个元素的数组。(如果超过五个,则默认启用更多功能)。
  3. 根据需要,前四个选项卡和第五个应该是“更多”选项卡。带有所需的标签图片。
  4. 对于“更多”选项卡,创建一个扩展 UITableView 委托和数据源的视图控制器。并实现委托和数据源各自的方法。
  5. 获取要显示的单元格数组并显示它们。
  6. 将此“更多”视图控制器链接到“更多”选项卡。
  7. 在 cellForRowAtIndexPath 方法中更改 tableview 中的图像。 运行应用程序并通过选择“更多”选项卡进行检查。这次它应该显示更改后的 UI。 当每个单元格在选择单元格时应该显示不同的视图控制器时,然后使用来自 ViewController 的 segue(不是从 tablecell 中的 segue)segue 到不同的视图控制器。为每个 segue 定义一个唯一的 segue id,并使用 performSegueWithIdentifier 在 shouldSelectViewController 中根据 switch 或 ifelse 条件显示视图控制器。

感谢@KKRocks 提供有价值的链接。

【讨论】:

    【解决方案2】:

    这里有一些内容需要解压。我不完全确定我是否完全理解了这个问题,但我会尽力回答部分内容。

    ViewDidLoad 和 ViewWillAppear

    您在viewDidLoad 中添加代码进行初始化。此方法将在您的视图最初加载时运行,除非您每次都实例化控制器,它只会运行一次(在这种情况下,您不需要,因为您使用的是预先构建的标签栏系统,它会为您处理)

    所以我会在viewDidLoad()中添加样式代码

    当要显示 viewController 时,viewWillAppear() 将被调用。每次都会发生这种情况,因此如果您需要执行重复性任务,例如网络调用、基于其他数据重新设置样式、刷新表格,您应该在这里完成。

    表格方法

    要对表做任何你需要做的事情,你很可能需要UITableViewDelegateUITableViewDataSource 到你的视图控制器。在线查找任何 UITableView 教程,它们非常全面,将解释如何在 viewController 中添加您需要的所有表格方法。

    【讨论】:

    • 在作为 UITabBarController 的子类的 CustomTabBarController 中,我使用 UITableView Delegate 和 DataSources 对其进行了扩展。然后我实现了所有存在的方法。但是什么都没有被调用。我的问题是我可以用 TableView 控制器扩展 TabBarController 吗?或者我应该将 UITableViewController 的新 ViewController 子类显示在“更多”选项卡项中?
    猜你喜欢
    • 1970-01-01
    • 2015-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-01
    相关资源
    最近更新 更多