init nsview

NSView 的2种初始化方式,如果您还没弄清,可以看手册上怎么介绍的:

1、initWithCoder :主要用于 interface builder 初始化,因为在程序运行前所有的图形元素全部被归档,在运行时解档
2、initWithFrame :比较普通,通过设定frame的值初始化特定大小的 nsview。

还是白色的:// // TPGuardEventView.swift // OmadaSurveillance // // Created by 代小青 on 2025/9/19. // class TPGuardEventView: NSView { // 左右 split private let eventPageSplitView: EventPageSpliteView = EventPageSpliteView() // 左侧事件列表 let eventListView = NSTableView() let eventListScrollView = NSScrollView() // 右侧上下 split let rightPageSplitView : EventPageSpliteView = EventPageSpliteView() let playerView = NSView() let detailsTableView = NSTableView() override init(frame frameRect: NSRect) { super.init(frame: frameRect) setupSubviews() } required init?(coder: NSCoder) { fatalError() } private func setupSubviews() { self.wantsLayer = true self.layer?.backgroundColor = NSColor.tpBackground.cgColor // 根背景色 eventPageSplitView.isVertical = true addSubview(eventPageSplitView) eventPageSplitView.snp.makeConstraints { make in make.edges.equalToSuperview() } // 左侧列表 eventPageSplitView.addArrangedSubview(eventListScrollView) eventListScrollView.documentView = eventListView eventListScrollView.hasVerticalScroller=true //右侧上下 split eventPageSplitView.addArrangedSubview(rightPageSplitView) rightPageSplitView.isVertical=false rightPageSplitView.dividerStyle = .thin rightPageSplitView.addArrangedSubview(playerView) rightPageSplitView.addArrangedSubview(detailsTableView) } // 模拟数据 func setupMockData() { // 填充 tableView / detailsTableView } } class EventPageSpliteView: NSSplitView { override var dividerColor: NSColor { return NSColor.tpSeparator } override var dividerThickness: CGFloat { return 1 } }
09-30
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值