UIScrollView在我设置框架时没有调整大小



我有一个UIScrollView,我正在根据csv文件动态添加标签和文本字段。 在我看来,它最初设置为0、340、100、100。 我在代码中计算新帧,尝试使用以下代码更新该大小。

[_svFields setScrollEnabled:YES];
[_svFields setUserInteractionEnabled:YES];
[_svFields setFrame:CGRectMake(frameX, frameY, frameWidth, frameHeight)];
[_svFields setContentSize:CGSizeMake(frameWidth, y)];

正确地将标签和文本字段添加到滚动视图,但滚动视图本身不会更新到新框架,它仍然为 0,340,100,100。我已经在我称之为[_svFields设置需求显示]的地方尝试过;更新框架后,它仍然不执行任何操作。 当我在 setFrame 上停止时,值是 frameX=0、frameY=319、frameWidth=750、frameHeight=403、y=2152。

任何帮助都会很棒。

谢谢

编辑:我目前正在使用不同的尺寸类,因此无法禁用自动布局。 如果这是唯一的方法,谢谢你的帮助。 我首先设置大小的原因是因为这些类不断将我的 UIScrollView 帧重置为 0,0,0,0,0,而不是我在移动和更改视图中的其他对象时给它的大小。 有没有人知道这个问题的解决方案?

编辑2:我找到了解决方法。 通过将 setTranslatesAutoressizeMaskIntoContraits 设置为 UIScrollView 的 YES,它不会自动调整大小并允许使用我的设置大小。[_svFields setTranslatesAutoresizeMastIntoContraints:YES] 在设置帧坐标之前。

禁用 UIViewController 的自动布局属性。

实际上,将

scrollView 与自动布局一起使用非常容易。

您可以从此模板项目开始:

https://github.com/annabd351/AutolayoutTemplate

最新更新