我有一个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 setNeedsDisplay];更新框架后,它仍然没有做任何事情。我在setFrame上停止的值是frameX = 0,frameY = 319,frameWidth = 750,frameHeight = 403,y = 2152。
任何帮助都会很棒。
谢谢,
编辑:我目前正在使用不同的大小类,因此禁用Autolayout不是一个选项。如果这是感谢帮助的唯一方式。我首先设置大小的原因是因为这些类不断地将我的UIScrollView框架重置为0,0,0,0而不是我在移动和更改视图中的其他对象时给出的大小。有没有人知道这个问题?
Edit2:我找到了解决方法。通过为UIScrollView将setTranslatesAutoresizingMaskIntoContraits设置为YES,它不会自动调整大小并允许使用我的设置大小。 [_svFields setTranslatesAutoresizingMastIntoContraints:YES]在设置框架坐标之前。
答案 0 :(得分:0)
禁用UIViewController的autolayout属性。
答案 1 :(得分:0)