1234567891011121314151617181920212223242526272829303132333435363738394041 |
- //
- // 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()
- }
- }
|