作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在阅读一篇讨论核心服务的文章,并决定使用其中的一个。我导入核心服务并在 XCode 上添加库,但它不起作用。
示例代码:
import Foundation
import CoreServices.DictionaryServices
func define(_ word: String) -> String? {
let nsstring = word as NSString
let cfrange = CFRange(location: 0, length: nsstring.length)
guard let definition = DCSCopyTextDefinition(nil, nsstring, cfrange) else {
return nil
}
return String(definition.takeUnretainedValue())
}
define("apple") // "apple | ˈapəl | noun 1 the round fruit of a tree..."
导入时出现“没有这样的模块”错误。我也看Apple's documentation但是没有解释如何实现和使用它。
感谢在下面回答我问题的人,我做了一些研究并找到了解决方案。显然,我可以通过调用 UIReferenceLibraryViewController
来使用 iOS 字典,但 Apple 文档说我们不应该将此制作用于字典应用程序。很明显,做一个字典应用是不够的,因为它使用自己的 ViewController
并且不可定制。
这是示例工作代码:
let dic = UIReferenceLibraryViewController(term: textLabelOutlet.text as! String)
dic.modalPresentationStyle = .popover // add this
let popover = dic.popoverPresentationController
popover?.sourceView = view
popover?.sourceRect = CGRect(x: 32, y: 32, width: 64, height: 64)
present(dic, animated: true)
来源:UIReferenceLibraryViewController cannot be presented as popup (always covers full screen)
最佳答案
CoreServices
可能在所有平台上可用,但 DictionaryServices
似乎仅在 macOS 上可用。
https://developer.apple.com/documentation/coreservices/1446842-dcscopytextdefinition
仅 SDK 列表:macOS 10.5+
关于ios - swift 4 : No such module 'CoreServices.DictionaryServices' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54084200/
我是一名优秀的程序员,十分优秀!