我需要像textkit
swift这样的东西在我的应用程序中实现文本编辑器。问题是所有textkit
代码样本和信息都是swift的旧版本,swift 4不支持它,它有100多个错误。任何人都知道为什么最近没有关于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' is unavailable in Swift
或'systemFontOfSize' has been renamed to 'systemFont(ofSize:)'
或'None' is unavailable: use [] to construct an empty option set
答案 0 :(得分:2)
TextKit没有过时。
只需执行建议的更改或使用Xcode的代码迁移功能自动执行更改(编辑>转换>转换为当前的Swift语法)。
而不是CGRectZero
使用CGRect.zero
。而不是systemFontOfSize(...)
使用systemFont(ofSize:)
和[]
而不是UIRectEdge.None
。
答案 1 :(得分:1)
我不认为TextKit已被替换,只是在较新的iOS / Swift版本中已经更新了一些语法。
例如,您的第一部分适合我在操场上进行以下更改:
let scrollView:UIScrollView = UIScrollView.init(frame: CGRect.zero)
let textStorage:NSTextStorage = NSTextStorage()
let layoutManger: NSLayoutManager = NSLayoutManager()
let fontArribuates = [NSAttributedStringKey.font: UIFont.systemFont(ofSize: 16)]
var titleTextView: UITextView = UITextView(frame: CGRect.zero)
var contentTextView: UITextView = UITextView(frame: CGRect.zero)
对于您的第二个示例,错误消息建议......
self.edgesForExtendedLayout = UIRectEdge([])
......但这是一个快速猜测。