首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >swift较新版本的textkit不可用

swift较新版本的textkit不可用
EN

Stack Overflow用户
提问于 2018-02-08 02:43:52
回答 2查看 221关注 0票数 1

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

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

代码语言:javascript
复制
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)

或者像这样

代码语言:javascript
复制
// 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的错误如下所示

EN

回答 2

Stack Overflow用户

发布于 2018-02-08 03:12:13

TextKit并没有过时。

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

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

票数 2
EN

Stack Overflow用户

发布于 2018-02-08 03:11:52

我不认为TextKit已经被取代了,只是在更新的iOS/Swift版本中更新了一些语法。

例如,您的第一部分适用于我的游乐场,但有以下更改:

代码语言:javascript
复制
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)

对于您的第二个示例,错误消息建议...

代码语言:javascript
复制
self.edgesForExtendedLayout = UIRectEdge([])

...but这是一个很快的猜测。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48671125

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档