我想知道的是哪个NSScreen具有键盘焦点.
首先,我添加了观察者,NSScreen
并且每当NSWorkspace.didActiveApplicationNotification
调用方法时,我需要确定哪个foo
具有键盘焦点.
NSWorkspace.shared.notificationCenter.addObserver(self, selector: #selector(foo), name: NSWorkspace.didActivateApplicationNotification, object: nil)
Run Code Online (Sandbox Code Playgroud)
我从这个通知中得到的只是NSScreen
对象,但它没有告诉我哪个屏幕是关注的.
在NSScreen文档中,我找到了NSScreen的主要属性和描述
返回包含具有键盘焦点的窗口的屏幕对象.
这是我想要的,但它并没有像我想象的那样奏效.它返回错误的屏幕.在头文件中我找到了这个信息
//缓存的值,可能是陈旧的
我尝试过Accessibility,一切都很好,但是当启用Sandbox时它不起作用,所以我无法使用它.
有没有人知道如何通过键盘焦点获取NSScreen对象?
NSWorkspace
没有任何支持.我尝试过Accessibility
,但仍然找不到任何有用的东西.
我在考虑AppleScript
,但找不到任何有用的东西.
我需要这个效果在Split View中并排使用两个Mac应用程序
你有什么想法我能做到吗?
我想知道我可以在 tvOS 上的 TextField 中自定义哪些内容。据我所知,我只能使用稍微更改标题和按钮标题SubmitLabel
但是,在查看“设置”界面时,我注意到苹果让它变得更好了一些。它包含描述、标题/描述的不同颜色、按钮的自定义标题,并且当文本字段为空时按钮将被禁用。
所看到的这些事情有可能实现吗?
我尝试使用设计键盘输入体验中的 inputAccessoryView来添加另一个按钮,它可以在 UIKit 上运行,但它不会发送任何点击操作。
所以我的代码现在看起来像这样
import SwiftUI
struct ContentView: View {
@State private var text = ""
var body: some View {
TextField("TitleKey", text: $text)
.submitLabel(.continue)
}
}
Run Code Online (Sandbox Code Playgroud)
我不知道如何进一步自定义此视图。
有什么办法只获取历史记录吗?有时存储库很大,下载需要很长时间。
我不需要文件,我只需要使用 git log 和 git show 查找提交历史记录。
正如我在主题中提到的那样,我想知道是否可以通过我的应用程序以全屏方式运行应用程序。
我尝试使用辅助功能,但没有找到任何可以帮助的内容。我也尝试使用NSWorkspace,但是结果是一样的。我被卡住了。
有人可以帮我吗?
我正在尝试相互交流应用程序。
我正在使用第一个应用程序处理Apple Events
NSAppleEventManager.shared().setEventHandler(self, andSelector: #selector(handleGetURLEvent), forEventClass: AEEventClass(kInternetEventClass), andEventID: AEEventID(kAEGetURL))
func handleGetURLEvent(_ event: NSAppleEventDescriptor, withReplyEvent replyEvent: NSAppleEventDescriptor)
Run Code Online (Sandbox Code Playgroud)
在第二个应用程序中,我正在创建NSAppleEventDescriptor对象
let test = NSAppleEventDescriptor(string: "test")
let descriptor = NSAppleEventDescriptor(eventClass: AEEventClass(kInternetEventClass), eventID: AEEventID(kAEGetURL), targetDescriptor: nil, returnID: AEReturnID(kAutoGenerateReturnID), transactionID: AETransactionID(kAnyTransactionID))
descriptor.setParam(test, forKeyword: keyDirectObject)
Run Code Online (Sandbox Code Playgroud)
现在,NSWorkspace
我启动了我的第一个应用程序
NSWorkspace.shared().launchApplication(at: myAppUrl, options: .default, configuration: [NSWorkspaceLaunchConfigurationAppleEvent:descriptor])
Run Code Online (Sandbox Code Playgroud)
一切都OK了,函数handleGetURLEvent
被调用,但是... replyEvent.desciptorType
是kAENullEvent
我也没有线索,我怎么会得到你replyEvent
在我的第二个应用程序。
我想这种解决方案有问题。
所以我的问题是,我怎样才能简单地将数据发送到其他应用程序并取回一些数据?
我阅读了有关协议的文档,但找不到有关从类继承的协议的任何信息,但代码可以编译。据我记得协议只能继承其他协议,我从未见过从类继承的协议。我什至不知道允许这种行为的语言。
class A {
}
protocol X: A {
}
// forced to inherit from class A, because of X protocol
class B: A, X {
}
Run Code Online (Sandbox Code Playgroud)
这是某种错误吗?
swift ×5
macos ×4
cocoa ×3
clone ×1
file ×1
git ×1
nsworkspace ×1
repository ×1
swiftui ×1
tvos ×1