Настроить TableViewController элементов переполнения uitabbar в Swift - PullRequest
1 голос
/ 20 октября 2019

UIKit автоматически управляет элементами переполнения на панели вкладок. При выборе «Больше» элементы переполнения отображаются в TableViewController. Я изо всех сил пытаюсь найти документацию или предыдущие ответы, подробно описывающие, как программно настроить этот TableViewController (например, чтобы соответствовать стилю вашего приложения)? В основном я не уверен, как получить доступ к этому TableViewController для последующей настройки.

Пример:

enter image description here

1 Ответ

1 голос
/ 20 октября 2019

Вы можете попробовать что-то вроде кода ниже. Попробуйте получить topViewController представление moreNavigationController как 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)
    }
}
...