gpt4 book ai didi

ios - UIScrollView中的UIView不调整宽度

转载 作者:行者123 更新时间:2023-11-29 12:19:23 27 4
gpt4 key购买 nike

我一直在搜索 stackOverflow 和谷歌提出的任何建议,但我无法让它工作。我打算在 ScrollView 中绘制一个简单的 2D 图形,我的数据点之间的距离是 kStepX 我希望 ScrollView 至少是屏幕的宽度,如果我有更多的数据点它应该滚动但不超过 100 分。

我认为我的 Autolayout 和 contentWidth 大小有问题,所以这是我到目前为止所做的:

  1. 我添加了一个具有以下约束的 UIScrollView:
    • 通往 Superview 的空间 =0
    • 父 View 的顶部空间=0
    • 高度 = 父 View 的宽度
    • Width = 父 View 的宽度
  2. 然后我添加了一个 UIView(称为 GraphView)作为具有以下约束的子项:
    • ScrollView 所有 4 个边界的零空间
    • 以 ScrollView 为中心的 X 和 Y 中心

在我的 GraphViewController 中,我将 contenSize 设置为:

historyScrollView.contentSize = CGSizeMake(MAX(SCREEN_WIDTH,sizeof(data)*kStepX), kGraphHeight);

但它不滚动!如果我在 Storyboard 中设置固定宽度,则 ScrollView 滚动得比我有数据的更远..

我做错了什么?

最佳答案

使用自动布局时,您不应设置 scrollViewcontentSize。如果设置正确,那应该根据您的约束计算得出。

您缺少的是在 scrollView 内的 View 上设置宽度和高度限制。 scrollView 根据 subview 的大小确定它的 contentSize。由于 UIView 没有固有大小,您需要为其添加 widthheight 约束,然后在需要时更新它具有正确的值

像这样的东西应该可以工作:

innerViewWidthConstraint.constant = MAX(SCREEN_WIDTH,sizeof(data)*kStepX) 
innerViewHeightConstraint.constant = kGraphHeight

// You might need to layout the views too
[historyScrollView layoutIfNeeded]

希望对您有所帮助!祝你好运:)

关于ios - UIScrollView中的UIView不调整宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31073977/

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