swift - 较新版本的 swift 的 textkit 不可用

标签 swift textkit

我需要像 textkit swift 这样的东西来在我的应用程序中实现文本编辑器。问题是所有 textkit 代码示例和信息都在旧版本的 swift 中,swift 4 不支持它并且它有超过 100 个错误。 dosen 任何人都知道为什么最近没有关于 textkit 的新信息。我想知道 textkit 是否过时了?如果是,那么请告诉我它现在的位置是什么,它具有像 textkit 这样的大多数功能,如果不是并且它没有过时,请给我一些关于它的新信息。感谢任何帮助。

要了解更多信息,请查看 textkit 的这些小代码,

let scrollView:UIScrollView = UIScrollView.init(frame: CGRectZero)
let textStorage:NSTextStorage = NSTextStorage()
let layoutManger: NSLayoutManager = NSLayoutManager()
let fontArribuates = [NSFontAttributeName: UIFont.systemFontOfSize(16)]

var titleTextView: UITextView = UITextView(frame: CGRectZero)
var contentTextView: UITextView = UITextView(frame: CGRectZero)

或者像这样

// MARK: Life Cycle
override func viewWillAppear(animated: Bool) {
    super.viewWillAppear(animated)
    self.title = "Post"
    self.edgesForExtendedLayout = UIRectEdge.None
    // error is : 'None' is unavailable: use [] to construct an empty option set`
}

错误类似于 'CGRectZero' 在 Swift 中不可用'systemFontOfSize' 已重命名为 'systemFont(ofSize:)'' None'不可用:使用[]构造空选项集

最佳答案

TextKit 并没有过时。

只需执行建议的更改或使用 Xcode 的代码迁移功能自动执行更改(Edit>Convert>To Current Swift Syntax)。

使用CGRect.zero 代替CGRectZero。而不是 systemFontOfSize(...) 使用 systemFont(ofSize:)[] 而不是 UIRectEdge.None .

关于swift - 较新版本的 swift 的 textkit 不可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48671125/

相关文章:

ios - 无法调用非函数类型的值'((成功 : Bool, 错误 : NSError?)抛出 -> Void)?)

ios - NSTextAttachment紧缩

ios - MapKit 没有以正确的位置为中心

ios - 快速从视频中提取帧

ios - 在 iOS SDK 的应用程序模块中添加框架

ios - 字符串中的内联按钮和/或文本字段,使用 Swift 包装与文本相同的文本

ios - 修改 NSParagraphStyle 中的行间距属性导致光标伸长

ios - 隐式成员表达式是用 Swift 编写的首选方式吗

ios - NSLayoutManager 每段有一个 NSTextContainer

ios - 如何使 UILabel 的一部分在视觉上成为 block 引用?