我的 UIScrollView
没有滚动。 (我试图让它水平滚动)我将 contentSize 设置为 (960, 300)。我在 Storyboard中将 UIScrollView 的帧大小设置为 width:320 height:300
。
我在 ScrollView 中有一个宽度为 960 点
的容器 View 。
在 320 点,我有一个背景颜色为棕色的 subview 。当我滚动时,我可以看到棕色的 subview ,但是当我放开拖动时它会反弹回来。
这是我的 viewDidLoad 方法:
- (void)viewDidLoad
[super viewDidLoad];
self.scrollView.scrollEnabled = YES;
[self.scrollView setFrame:CGRectMake(0,0,320,300)];
self.scrollView.contentSize = CGSizeMake(960, 300);
UIView *subview1 = [[UIView alloc] initWithFrame:CGRectMake(320, 0, 320, 300)];
[subview1 setBackgroundColor:[UIColor brownColor]];
UIView *containerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 960, 300)];
[containerView addSubview:subview1];
[self.scrollView addSubview:containerView];
}
最佳答案
这是一个以编程方式创建 ScrollView 的示例代码:
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
UIScrollView* scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, 320, 300)];
scrollView.backgroundColor = [UIColor redColor];
scrollView.scrollEnabled = YES;
scrollView.contentSize = CGSizeMake(960, 300);
[self.view addSubview:scrollView];
UIView *subview1 = [[UIView alloc] initWithFrame:CGRectMake(320, 0, 320, 300)];
[subview1 setBackgroundColor:[UIColor brownColor]];
UIView *containerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 960, 300)];
containerView.backgroundColor = [UIColor greenColor];
[containerView addSubview:subview1];
[scrollView addSubview:containerView];
所以,你的代码没有问题,但你的 Storyboard配置有问题。
关于ios - 即使设置了 contentSize,UIScrollView 也不会滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26000133/