自定义moreNavigationController的tableview和类似的用户界面

时间:2015-12-02 10:41:22

标签: ios iphone xcode swift uitabbarcontroller

我已覆盖moreNavigationController tableview,但我想使用默认为本机moreNavigationController的tableview数据源(tabbaritem图标,名称和徽章等)的同一行。 我试图从现有的数据源中获取单元格。以下是我的代码段:

func tabBarController(tabBarController: UITabBarController, shouldSelectViewController viewController: UIViewController) -> Bool
{
    if (viewController == tabBarController.moreNavigationController && tabBarController.moreNavigationController.delegate == nil)
    {
        if tabBarController.moreNavigationController.topViewController?.view is UITableView
        {
            let view:UITableView = tabBarController.moreNavigationController.topViewController?.view as! UITableView

            tblDataSource = view.dataSource

            view.delegate = self

            view.dataSource = self
        }
    }

    return true
}


func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
{

    let cell:UITableViewCell = tblDataSource?.tableView(tableView, cellForRowAtIndexPath: indexPath)
    return cell
}

但是,它显示了我的空白区域。

2 个答案:

答案 0 :(得分:1)

您需要实施以下方法才能正确显示"更多"查看控制器:

func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) {
    tblDataSource?.tableView!(tableView, willDisplay: cell, forRowAt: indexPath)
}

答案 1 :(得分:0)

好的,我不明白。 如果您想要与本机相同的行,那么为什么要覆盖UITableViewDataSource方法?保持原样。覆盖您需要的必要方法。