Swift中自定义uitabbar溢出项的TableViewController

Posted

技术标签:

【中文标题】Swift中自定义uitabbar溢出项的TableViewController【英文标题】:Customise TableViewController of uitabbar overflow items in Swift 【发布时间】:2019-10-20 13:37:53 【问题描述】:

UIKit 自动管理标签栏的溢出项。当您选择“更多”时,溢出项目将显示在 TableViewController 中。我正在努力寻找详细说明如何以编程方式自定义此 TableViewController 的文档或以前的答案(例如以适合您的应用程序的样式)?主要是我不确定如何访问这个 TableViewController 以便进行自定义。

例子:

【问题讨论】:

【参考方案1】:

您可以尝试以下代码。尝试将 topViewControllermoreNavigationController 视图作为 UITableView 并将您的自定义 UITableViewDelegate 设置为它。在委托中,您可以重写 WillDisplay 单元格函数来自定义单元格。

class ViewController: UITabBarController 
    override func viewDidLoad() 
        super.viewDidLoad()
        if let moreListViewController = self.moreNavigationController.topViewController 
            if let moreListTableView = moreListViewController.view as? UITableView 
                moreListTableView.delegate = self
            
        
    


extension ViewController: UITableViewDelegate 
    func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) 
        cell.backgroundColor = UIColor.random
    


private extension UIColor 
    static var random: UIColor 
        return .init(hue: .random(in: 0...1), saturation: 1, brightness: 1, alpha: 1)
    

【讨论】:

以上是关于Swift中自定义uitabbar溢出项的TableViewController的主要内容,如果未能解决你的问题,请参考以下文章

swift UITabBar在Swift中具有自定义高度

Swift自定义UITabBar

Swift自定义UITabBar

在 UITabBarController 中覆盖 UITabBar

Swift iOS UITabBar 自定义

UITableViewRowAction 在 Swift 中自定义标题字体大小