如何以编程方式并排捕捉2个窗口(分割视图)
问题描述:
NSWorkspace
对此没有任何支持。我尝试了Accessibility
,但仍找不到有用的东西。如何以编程方式并排捕捉2个窗口(分割视图)
我正在考虑AppleScript
,但找不到任何有用的东西。
我需要的正是这种效果Use two Mac apps side by side in Split View
你有任何想法,我怎么能做到这一点?
答
你问了一个建议,这里是我的,试图确定一个值为每个窗口加载时的x值宽度,x%高度和verticalalign =(左边或右边) 。
答
我设法找到一个非常有用的演示文稿here从WWDC 2015
。 (该链接将下载的演示文稿作为PDF)
查看度量和NSSplitView部分 - 下半场(将130左右)
你会发现一些有用的代码属于该NSSplitViewItem
类。这会做(我想)你想要做什么。我看了一下,除了这些之外,还找不到很多例子。
看起来像NSSplitView
使用多个NSView
对象以“全屏顺序”排列它们。演示文稿的前几张幻灯片展示了如何制作应用程序Fullscreen。
例子:
// Add View
class NSView {
var subviews: [NSView]
func addSubview(NSView)
func addSubview(NSView, positioned: NSWindowOrderingMode, relativeTo: NSView?)
func removeFromSuperview()
}
// Create SplitView
class NSSplitView {
var arrangedSubviews: [NSView]
func addArrangedSubview(NSView)
func insertArrangedSubview(NSView, atIndex: NSInteger)
func removeArrangedSubview(NSView)
var arrangesAllSubviews: Bool
}
这里是一个GitHub库对于实现了,看看它的代码的项目:https://github.com/fikovnik/ShiftIt – the4kman
@ the4kman谢谢,但我m寻找相当于[this]的东西(https://support.apple.com/en-au/HT204948) – Raymond
@Raymond希望我的回答对你有所帮助 – KSigWyatt