UIScrollView 滚动时跳跃
Posted
技术标签:
【中文标题】UIScrollView 滚动时跳跃【英文标题】:UIScrollView jumping when scrolled 【发布时间】:2013-05-03 15:56:45 【问题描述】:我在 UIScrollView 中使用了 UILabel,但是在加载视图时我看不到文本。然后,如果我开始滚动,就会出现文本。
我做错了什么? 谢谢!
- (void)viewDidLoad
[super viewDidLoad];
[scrollView addSubview:mainLabel];
[scrollView setAutoresizesSubviews:true];
NSString *text = [textList objectAtIndex:(currentTextId)];
CGFloat width = [mainLabel frame].size.width;
CGSize textSize = [text sizeWithFont: [mainLabel font]
constrainedToSize:CGSizeMake(width, CGFLOAT_MAX)
lineBreakMode:NSLineBreakByWordWrapping];
CGRect labelFrame = CGRectMake (0, 0, width, textSize.height);
[mainLabel setFrame:labelFrame];
[mainLabel setText:text];
【问题讨论】:
您使用的是在 Xcode 4.6.x 中创建的 nib 吗?如果是这样,它可能正在使用自动布局。 是的,我是,它在自动布局中。现在我禁用了它,设置了 scrollView contentSize 和 frame,它不再滚动了。我正在寻找我的代码有什么问题。 如果它不滚动,那是因为你设置的 contextSize 不正确。它必须大于滚动视图的大小 - 否则,没有可滚动的内容。 apeth.com/iosBook/ch20.html#_creating_a_scroll_view 【参考方案1】:我认为你应该设置滚动视图的frame
和contentSize
【讨论】:
【参考方案2】:您应该明确设置滚动视图contentSize
,以便它知道标签有多大。
【讨论】:
以上是关于UIScrollView 滚动时跳跃的主要内容,如果未能解决你的问题,请参考以下文章
调整容器 uiscrollview 中所有 uiscrollview 的大小
UIScrollView 滚动问题之上的 UICollectionView
快速滚动 UIScrollView 时 UIImageView 停止调整大小