Swift 3 的“框架”折旧?

Posted

技术标签:

【中文标题】Swift 3 的“框架”折旧?【英文标题】:"Frame" depreciation from Swift 3? 【发布时间】:2017-10-03 11:46:06 【问题描述】:

我目前正在尝试使用ScrollableGraphView 在我的应用程序中实现折线图。我一直在努力使用这条线:

let graphView = ScrollableGraphView(frame: frame, dataSource: self) 

导致的错误

使用未解析的标识符“frame

是否为 Swift 4 删除了 “使用框架”?如果是这样,有没有办法绕过它?

【问题讨论】:

ScrollableGraphView 超链接未找到。 【参考方案1】:

只需复制并粘贴下面的行到您的代码中。

let frame = self.view.frame

在前面加上上面一行:

let graphView = ScrollableGraphView(frame: frame, dataSource: self) 

就是这样!

【讨论】:

【参考方案2】:

如果我猜对了,那么您就是在 视图控制器 中初始化ScrollableGraphView 的实例。在这种情况下,视图控制器本身没有框架,但它的视图有:

let graphView = ScrollableGraphView(frame: view.frame, dataSource: self) 

【讨论】:

【参考方案3】:

您可以为框架参数创建 CGRect: let graphView = ScrollableGraphView(frame: CGRect(x: 10, y: 10, width: 100, height: 100), dataSource: self) 或者,如果您需要该图在整个屏幕上显示,您可以使用 UIScreen.main.bounds 作为框架参数

【讨论】:

【参考方案4】:

你需要声明框架。

let myFrame = CGRect(...)
let graphView = ScrollableGraphView(frame: myFrame, dataSource: self) 

【讨论】:

以上是关于Swift 3 的“框架”折旧?的主要内容,如果未能解决你的问题,请参考以下文章

我可以在 Swift 3 项目中使用 Swift 2.3 框架吗?

使用 Swift 4.0 编译的模块无法在 Swift 3.1 中导入框架二进制文件

试图在 swift 3 框架中实现 JWPlayer

试图在 swift 3 框架中实现 JWPlayer

迁移到 Swift 3 时可以使用旧框架吗?

Swift 3 会破坏与 Carthage 集成的动态框架吗?