我正在尝试创建一个类似于 Xcode 属性面板的选项卡式面板,但标准选项卡式面板似乎具有不同的外观和感觉,无法更改它。应使用哪些控件来创建外观相似的选项卡式面板?
编辑:
我没有使用 NSTabViewController - 只是有 TabView!
我刚刚创建了一个带有故事板和提供的布局的新项目,将自定义视图添加到顶部的视图控制器视图中。向自定义视图添加按钮,样式 = 方形,类型 = 切换,并使用提供的模板类型图标。将标签分配给按钮 0-4 并将它们放入水平堆栈视图。然后添加一条水平线和一个容器视图。然后,我将选项卡视图控制器添加到故事板并将其嵌入到容器视图中。所有按钮都连接到相同的操作。
import Cocoa
class ViewController: NSViewController {
@IBOutlet var myStackView: NSStackView!
var oldSelection: Int = 0
var newSelection: Int = 0
var buttons: [NSButton]?
var tabViewDelegate: NSTabViewController?
@IBAction func selectedButton(_ sender: NSButton) {
newSelection = sender.tag
tabViewDelegate?.selectedTabViewItemIndex = newSelection
buttons![oldSelection].state = .off
sender.state = .on
oldSelection = newSelection
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
buttons = (myStackView.arrangedSubviews as! [NSButton])
}
override var representedObject: Any? {
didSet {
// Update the view, if already loaded.
}
}
override func prepare(for segue: NSStoryboardSegue, sender: Any?) {
// Once on load
tabViewDelegate = segue.destinationController as? NSTabViewController
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)