UIScrollView在滚动时跳跃

问题描述:

我在UIScrollView中使用UILabel,但当视图加载时,我看不到文本。然后,如果我开始滚动,文本出现。UIScrollView在滚动时跳跃

我在做什么错? 谢谢!

- (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]; 
} 
+1

是否使用在Xcode 4.6.X创建的笔尖contentSize?如果是这样,它可能会使用自动布局。 – matt 2013-05-03 16:27:01

+0

是的,而且是在自动布局中。现在我已禁用它,设置scrollView的contentSize和框架,它不再滚动。我正在寻找我的代码中有什么问题。 – Julien 2013-05-17 14:00:19

+1

如果不滚动,那是因为您正在错误地设置contextSize。它必须大于滚动视图大小 - 否则,没有什么可滚动的。 – matt 2013-05-17 16:11:04

,我认为你应该设置frame还的滚动视图

您应该明确设置滚动视图contentSize,以便它知道标签有多大。