Ios UIScrollView在setContentSize之后滚动

Ios UIScrollView在setContentSize之后滚动,ios,uiscrollview,Ios,Uiscrollview,所以我想在UIView(320470)中创建一些比Viewport(320367)高的细节内容 我用IB-like(见图)创建它。在我设置ContentSize使UIScrollView可滚动之前,一切看起来都正常 这是我放在ViewDidLoad CGRect frame = self.uiContent.frame; [self.uiScrollView addSubview:self.uiContent]; [self.uiScrollView setContentSize:frame.s

所以我想在UIView(320470)中创建一些比Viewport(320367)高的细节内容

我用IB-like(见图)创建它。在我设置ContentSize使UIScrollView可滚动之前,一切看起来都正常

这是我放在
ViewDidLoad

CGRect frame = self.uiContent.frame;
[self.uiScrollView addSubview:self.uiContent];
[self.uiScrollView setContentSize:frame.size];
调用setContentSize后,内容会随着动画滚动到中间。。如何防止自动滚动


我找到了罪犯。。它是
UITextView
。对不起,如果我没有提到我使用UITextView作为地址标签下的多行标签

在其他问题上引用“Taketo Sano”:

我已经研究了自动滚动是如何通过跟踪 调用trace,发现内部[UIFieldEditor 当在列表中键入字母时,将调用scrollSelectionToVisible] UITextField。此方法似乎作用于 UITextField的最近祖先

更改
UITextView
文本时,
UIScrollView
自动滚动到
UITextView
。因此,我通过子类化
UIScrollview
和重写找到了解决方案

- (void)scrollRectToVisible:(CGRect)rect animated:(BOOL)animated {
并且不返回任何内容以禁用自动滚动。。。如果您计划在将来使用它,只需使用bool变量,通过使用

- (void)scrollRectToVisible:(CGRect)rect animated:(BOOL)animated {
    if (!self.disableAutoScroll) {
        [super scrollRectToVisible:rect animated:animated];
    }
}

因此,您可以在通过代码更改UITextView之前禁用autoscroll,然后启用它

不知道,但您可以在之后尝试[uiScrollView ScrollStop]您是否尝试在设置ContentSize之后添加子视图,是否相同或不同?我已经尝试过了。。。滚动到顶部,更改顺序并同时执行这两项操作。。。不走运…setContentOffset和scrollRectToVisible呢?还是不走运。。。我想
setContentSize
调用导致滚动视图滚动的东西。。但如果我用颜色添加simple
UIView
,它就不会滚动。。奇怪的事。。