Ios UIScrollView在setContentSize之后滚动
所以我想在UIView(320470)中创建一些比Viewport(320367)高的细节内容 我用IB-like(见图)创建它。在我设置ContentSize使UIScrollView可滚动之前,一切看起来都正常 这是我放在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
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
调用导致滚动视图滚动的东西。。但如果我用颜色添加simpleUIView
,它就不会滚动。。奇怪的事。。