在 iOS 7 ~ iOS 10 , UITableViewCell 與 UITableView 中間多了一層 UITableViewWrapperView ,直到 iOS 11 又移除...
將以下兩段複製到繼承 UITableViewCell 的自定義 class 裡
weak var tableView: UITableView? { // 在 iOS 7 ~ 10 中 ,UITableViewCell 的 superview 為 UITableViewWrapperView 而不是 UITableView if #available(iOS 11, *) { return self.superview as? UITableView }else { return self.superview?.superview as? UITableView } }
weak var viewController: UIViewController? { return self.tableView?.delegate as? UIViewController }