我正在开发一个应用程序,其中我有一个可水平滚动的UIScrollView全屏,分页包含多个(比方说3个)可垂直滚动的UIScrollViews,每个也都是全屏。它们的位置没有边距,左边的原点是(0,0)。
每个可垂直滚动的UIScrollView包含一个放在另一个上面的按钮,每个按钮点击时,都会显示一个ViewController:
[self presentViewController:someViewController animated:YES completion:nil];
现在这个代码适用于两个正确的UIScrollViews,但它的左边有一个错误:
现在是有趣的部分!
如果我将左UIScrollView的原点更改为(1,0),则此问题会消失!有什么可以解决这个问题?
添加了一些代码:
[horizontalSV setDelegate:self];
[horizontalSV setContentSize:horizontalContentView.frame.size];
[horizontalSV addSubview:horizontalContentView]; // View containing vertical scroll views, it's set up in IB
[horizontalContentView setFrame:CGRectMake(-1, 0, 961, 440)]; // This is now used for the hack
// Now imagine three of these
firstSVcontent = [[VerticalContentView alloc] init]; // Setting the content view
[firstSVcontent setTitle:title];
[firstSVcontent setButtons:blahblah];
[firstVerticalSV setContentSize:firstSVcontent.view.frame.size]; // Setting vertical scroll view
[firstVerticalSV addSubview:firstSVcontent.view];
答案 0 :(得分:2)
差不多一年后我就解决了这个问题!
问题是,我在XIB文件中执行了大部分视图管理,然后我只是在viewDidLoad方法中读取了这些内容视图和滚动视图并将它们组合在一起。
现在我已经重写了我的代码,以编程方式创建所有滚动视图和内容视图,一切正常运行。