我有一个根本不滚动的 UIScrollView。如果我启用弹跳,我可以滚动到足够远的距离以查看视图之外的内容,但是当我释放时它会立即回到原点。我打开了分页,但如果我关闭它,我会得到相同的行为。我关闭了自动布局。在 IB 中,scrollView 位于 MainViewController 中,正确链接到 IBOutlet,如下所示。
@interface MainViewController ()
@property (strong, nonatomic) IBOutlet UIScrollView *scrollView;
@end
@implementation MainViewController
- (void)viewDidLoad
{
[super viewDidLoad];
for (int i = 0; i < 3; i++) {
CGRect frame;
frame.origin.x = self.scrollView.frame.size.width * i;
frame.origin.y = 0;
frame.size = self.scrollView.frame.size;
// I might be doing this wrong, but it returns a PosterView object just like I want it to.
NSArray *view = [[NSBundle mainBundle] loadNibNamed:@"posterView" owner:self options:nil];
[[view objectAtIndex:0] setFrame:frame];
[self.scrollView addSubview:[view objectAtIndex:0]];
}
self.scrollView.contentSize = CGSizeMake(self.scrollView.frame.size.width * 3, self.scrollView.frame.size.height);
}
如果我使用这种方法,它会正确滚动。
-(void)scrollToPage:(NSInteger)page{
float pageWidth = [self.scrollView frame].size.width;
[self.scrollView setContentOffset:CGPointMake(page*pageWidth,0) animated:YES];
}
我已经尝试实现UIScrollViewDelegate
and 覆盖scrollViewDidScroll
,但它从未被调用(除非我启用了弹跳,就像我之前提到的那样)。