gpt4 book ai didi

ios - UIScrollView 不滚动

转载 作者:可可西里 更新时间:2023-11-01 05:04:37 25 4
gpt4 key购买 nike

我有一个根本不滚动的 UIScrollView。如果我启用弹跳,我可以滚动到足够远的两侧以查看 View 之外的内容,但当我释放时它会立即回到原点。我已打开分页,但如果我将其关闭,我会得到相同的行为。我关闭了自动布局。在 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 并覆盖 scrollViewDidScroll,但它从未被调用(除非我启用了弹跳,就像我之前提到的那样)。

最佳答案

UIScrollView 仅在 contentSize 大于其框架大小时滚动。如果它不滚动可能意味着它的 contentSize 不够大。所以在设置之后检查它的contentSize是多少。

如果 contentSize 与您期望的一样,则检查 scrollView 是否为 scrollEnabled。有时启用反弹会产生滚动正在工作的印象。此外,如果未启用滚动,设置 contentOffset 也适用于这种情况,因为它会根据提供的大小作为参数移动内容。

关于ios - UIScrollView 不滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17475487/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com