为什么uiscrollview不能使contentOffset变得可见?

时间:2011-03-24 23:10:44

标签: iphone objective-c ios ipad uiscrollview

大家好,我对uiscrollview有疑问。 当我按下按钮通过UIView动画更改contentOffset scollview时,我有这样的事情:


NSLog(@"%@\n %f %f", scroll, scroll.contentOffset.x, scroll.contentOffset.y);    
[UIView beginAnimation:@"anima" context:nil];
[UIView setAnimationDuration:0.5];
scroll.contentOffset = CGPointMake(0,index * scroll.frame.size.height;
[UIView commitAnimations];
NSLog(@"%@\n %f %f", scroll, scroll.contentOffset.x, scroll.contentOffset.y);

在更改这些指令之前和之后创建日志cotentOffSet,显然scrollview是一个现有实例,因此它与nil不同。 问题是屏幕不会更改不移动的偏移滚动视图。
我在代码的其他部分和其他scrollview中做同样的事情,但它完美地工作。 我也试过了:


[scroll setContentOffset:CGPointMake(0, index * currentVerticalScrollView.frame.size.height) animated:YES] ;

但也不会改变!
为什么不起作用?

1 个答案:

答案 0 :(得分:0)

您是否确保在最初滚动时调用setContentSize:,大到足以允许滚动偏移?

如果是这样,可能需要一个[scroll setNeedsDisplay]来踢它!