Can protocol extension define class API overrides?

I have several UIViewController subclasses (they don't share the same parent class) that conform to a protocol. I want to add default implementation of several UIViewController API overrides to avoid overriding them in each subclasses. Anyway to make this work?

protocol StylingController {
        
}

extension StylingController where Self: UIViewController {
    
    override func viewDidAppear(_ animated: Bool) {
        super.viewDidAppear(animated)
        
        becomeFirstResponder()
    }
    
    override func viewDidDisappear(_ animated: Bool) {
        super.viewDidDisappear(animated)
        
        resignFirstResponder()
    }
    
}

Make the common base class and implement the common functionality in there.

As I said "they don't share the same parent class". Some are UIViewController some are UITableViewController.

In this case just make two parent classes instead of one: one based on UIViewController and another on UITableViewController. If there's lot of overlapping functionality and you want it to make it as DRY as possible, you could further extract the common functionality into a protocol extension:

class BaseViewController: UIViewController, CommonVCFunctionality {
    override func viewDidAppear(_ animated: Bool) {
        super.viewDidAppear(animated)
        commonVCFunctionality()
    }
}

class BaseTableViewController: UITableViewController, CommonVCFunctionality {
    override func viewDidAppear(_ animated: Bool) {
        super.viewDidAppear(animated)
        commonVCFunctionality()
    }
}

protocol CommonVCFunctionality: AnyObject {
    func commonVCFunctionality()
}

extension CommonVCFunctionality {
    func commonVCFunctionality() { ... }
}