MACOS开发问题

1.自定义NSWindow,不展示titlebar时,NSViewController作为子视图添加到view上,NSTextField不能编辑

解决:
在自定义的NSWindow中设置canBecomeKey

class IPWindow: NSWindow {
    override var canBecomeKey: Bool {
        return true
    }
}

2.设置窗口可移动

isMovableByWindowBackground = true

3.NSViewController中present界面

let loginVC = IPLoginVC.init()
self.presentAsSheet(loginVC)

4.NSPopover一个NSViewController,隐藏三角指示

let userVC = IPUserVC.init()
let popover = NSPopover.init()
popover.contentViewController = userVC
popover.behavior = .transient
popover.setValue(true, forKey: "shouldHideAnchor")
popover.show(relativeTo: view.bounds, of: view, preferredEdge: NSRectEdge.maxY)

5.弹出新的窗口

let newWindowVC = NewWindowVC.init()
let updateWindow = NSWindow.init(contentViewController: loadVC)
updateWindow.standardWindowButton(.zoomButton)?.isHidden = true
//        updateWindow.standardWindowButton(.closeButton)?.isHidden = true
//        updateWindow.standardWindowButton(.miniaturizeButton)?.isHidden = true
//        updateWindow.titlebarAppearsTransparent = true
updateWindow.styleMask = [updateWindow.styleMask, .fullSizeContentView]
updateWindow.center()
let windowControll = NSWindowController.init(window: updateWindow)
windowControll.showWindow(nil)

6.NSTableView

NSTableView需嵌套在NSScrollView控件中支持滚动

7.打包生成dmg

正常Product-Archive生成app安装包,使用DMG Canvas将app转成dmg
DMG Canvas

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容