// // KMTabStripController.swift // PDF Reader Pro // // Created by tangchao on 2024/5/16. // import Cocoa // 标签栏 【带】【标签容器】 class KMTabStripController: CTTabStripController { // (新创建标签的动画优化) override func layoutTabs() { let cnt = self.viewsCount() if cnt <= 1 { super.layoutTabs() return } guard let tabView = self.view(at: cnt-1) else { // 无存在标签 super.layoutTabs() return } let newTab = tabView.isHidden if newTab == false { // 不是新标签 super.layoutTabs() return } // 前一个标签 guard let preTabView = self.view(at: cnt-2) else { super.layoutTabs() return } if NSMinX(tabView.frame) == 0 { // 限制条件 // 新标签 坐标 x 为 前一个标签的尾部(新创建标签的动画优化) tabView.frame.origin.x = NSMaxX(preTabView.frame) } super.layoutTabs() } }