gpt4 book ai didi

ios - UIScrollView 包含 CGRect 线图不滚动(Swift)

转载 作者:行者123 更新时间:2023-11-30 14:08:12 24 4
gpt4 key购买 nike

我正在尝试使用用户可滚动的 CGRect 绘制折线图。我已将其容器 View 设置为可滚动(我想要水平滚动,以便线条可以延伸到屏幕之外),但它似乎没有任何效果。这是我实际 View Controller 中的代码:

@IBOutlet weak var containerView: UIScrollView!
@IBOutlet weak var graphView: GraphView!
override func viewDidLoad() {
super.viewDidLoad()
logWeightButton.enabled = false
logWeightField.delegate = self
logWeightField.keyboardType = .NumberPad
self.view.addSubview(containerView)
containerView.addSubview(graphView)
containerView.contentSize = graphView.rectDisplay.size
pageLoad()
}

这是声明 CGRect 的代码(在 UIView 类中)

override func drawRect(rect: CGRect) {
if dataPoints.count == 0 {
return
} else {
self.drawLine(dataPoints, rect: rect, xCoordinates: nil, color: UIColor.blackColor())
if xCoordinates.count != 0 {
self.drawLine(actualPoints, rect: rect, xCoordinates: xCoordinates, color: UIColor.redColor())
}
rectDisplay = rect
}
}

最佳答案

发现我需要在 Storyboard 文件检查器中关闭自动布局 - 如果未禁用它,它可以覆盖 ScrollView 。

我还确保启用滚动

containerView.scrollEnabled = true

并将containerView框架设置为

self.view.frame

我没有足够的声誉来发布图片,所以这里是:

http://i.stack.imgur.com/ZOBJp.png

图表现在滚动,但我的整个显示一团糟(我相信是因为将容器框架设置为 View 的大小),所以循环继续。

最终更新:

了解到 ScrollView 的框架必须小于其内容才能滚动(这就是为什么将其设置为 View 框架有效的原因 - View 的宽度小于折线图的宽度),所以我将框架设置为

    containerView.frame = CGRect(x: 43.0, y: 147.0, width: 300.0, height: 117.0)

现在一切正常了。希望这对其他人有帮助!

关于ios - UIScrollView 包含 CGRect 线图不滚动(Swift),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32082546/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com