如何更改UITabbarController的更多ViewControllers UITableViewCells图像?

时间:2017-04-24 07:01:35

标签: ios swift uitabbar

更多viewcontroller张图片显示在默认蓝色背景中,而不是原始图片上。我想将它们更改为原始图像,并且还希望增加UITableViewCell's高度。 我已经尝试在UITabbarController上实现tableview委托方法,但没有任何成效。 即使moreNavigationController也没有变化。 1)我在哪里必须编写这些自定义方法viewDidLoadviewWillAppear。此外shouldSelectViewController未被调用。第一次当我选择一个tabbar项目时,它被调用,当我选择更多项目时,它不会被调用。 2)我应该在哪里实施UITableView委托方法。

我的屏幕 - My screen looks like this, but i want

必填屏幕 -

something like the below screen

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

2 个答案:

答案 0 :(得分:1)

我的要求正常。我遵循的逐步程序是

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

答案 1 :(得分:0)

这里有一些内容需要解压缩。我并不完全确定我完全理解这个问题,但我会继续并尽可能地部分回复。

ViewDidLoad和ViewWillAppear

您在viewDidLoad中添加代码以进行初始化。这个方法将在您最初加载视图时运行,除非您每次只运行一次实例化控制器(在这种情况下,您不要因为您使用预置的tabbar系统来处理它你)

所以我会在viewDidLoad()

中添加样式代码

当要显示viewController时,将调用viewWillAppear()。这种情况每次都会发生,所以如果您需要执行重复性任务,如网络调用,基于其他一些数据的重新定位,刷新表格,您应该在这里进行。

表格方法

对于您需要对表执行的操作,您很可能需要UITableViewDelegateUITableViewDataSource到视图控制器。在线查找任何UITableView教程,他们非常全面,并将解释如何在viewController中添加所需的所有表格方法。