UIKit显示问题疑难解答

时间:2016-10-25 23:09:42

标签: ios objective-c swift xcode8

我有一个非常奇怪的问题,即在构建和运行项目时,图表(SwiftChart)没有显示(不可见/渲染)。

一些背景知识:

  • XCode 8(项目最初和XCode 7项目)
  • Objective C project / ViewControllers
  • 用于呈现图表的swift文件(尝试从viewDidLoad& viewDidLayoutSubviews调用此文件)
  • 包含所有ui元素的故事板
  • 使用CocoaPods
  • 您在Swift中看到的'print'代码输出'null'

要呈现图表的UIView存在于故事板中,并按如下方式设置 enter image description here

被调用的代码是:

let chart = Chart()
print(chart.window?.frame.width)
print(chart.window?.frame.height)

let data = [(x: 0.0, y: 0), (x: 3, y: 2.5), (x: 4, y: 2), (x: 5, y: 2.3), (x: 7, y: 3), (x: 8, y: 2.2), (x: 9, y: 2.5)]
let series = ChartSeries(data: data)
series.area = true
chart.xLabels = [0, 3, 6, 9, 12, 15, 18, 21, 24]
chart.xLabelsFormatter = { String(Int(round($1))) + "h" }
chart.add(series)

视觉上我什么也看不见。我正在努力弄清问题可能在哪里,所以任何指针都非常赞赏

1 个答案:

答案 0 :(得分:2)

当您以编程方式创建框架时,您将使用框架初始化它,因为它是UIControl子类。看起来他们的第一个代码示例是错误的,但他们在下一个正确解释它。所有屏幕视图至少需要一个框架。

但是如果你已经在故事板中看到了这个类,你需要一个指向它的插座。你的第一行代码会创建一个新代码,所以你不是在谈论你设置的代码,而是在屏幕外创建一个不正确的代码。

所以添加一个插座并将其连接到您的视图,以便您可以与它通信。