2010-08-24 111 views
2

我试图做一个水平的滚动的不同宽度的UILabels如何用不同的页面大小对UIScrollView进行分页?

我已经把所有的标签彼此相邻的UIScrollView的内部,但由于页面滚动,弹跳和弹响在scrollview.frame.width“台阶”做,我不能将其设置为我的工作'祝愿。

可以这样做吗?非常感谢:)

回答

-1

如果将宽度属性的大小设置为下一个标签的宽度,会发生什么情况?像(在您的滚动查看代表):

- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate { 
    // Get the label that's going to slide into view 
    UIView *label = [self getCurrentLabel]; 

    // Get it's width 
    float width = [label frame].size.width; 

    // Set our size 
    CGRect frame = [scrollView frame]; 
    frame.size.width = width; 
    [scrollView setFrame:frame]; 
} 

PS我没有试过这个,所以它可能会失败可怕!

+0

这不能工作的原因很多。首先,你不知道哪个标签会滑入视图。滚动视图可以向左或向右滚动。其次,标签的位置不会只是宽度* labelWhichWillSlideIn。 – Split 2011-06-12 00:10:57

+0

当然,你知道下一个标签 - 你只有一个标签数组和一个currentLabel索引。并且您将跟踪currentOffset属性的滚动方式。你应该已经把你的标签放在viewWillAppear中了。问题只是说你的标签是不同的宽度,而不是你有nio想法那些搭档! – deanWombourne 2011-06-13 12:11:36