0

我遇到了 uiscrollview 的问题。当我将它作为常规滚动视图时,所有 UIButton 都按预期工作。当我向它添加分页时,按钮不再响应。我有一个顶部边缘伸出来,他们确实接受了那里的压力。它们肯定在滚动视图的后面,但是当它像我想要的那样移动时,它们会在页面上下滚动。我已经阅读了很多不同的回复,但除非您使用手势控制器,否则大多数人不会提供答案。我附上了创建分页的代码。你能告诉我我可能会错过什么吗?

-(void)scollPagingSetup:(float)frameSize {
float numberOfPages;
int maxheight;

[self.view setPagingEnabled:YES];
[self.view setBounces:YES];

UIView *first = [[UIView alloc]initWithFrame:self.view.frame];
[self.view addSubview:first];


maxheight = [UIScreen mainScreen].bounds.size.height;
numberOfPages = ceil(frameSize/maxheight);
for (int i = 1; i < numberOfPages; i++) {
    CGRect frame;
    frame.origin.x = 0;
    frame.origin.y = self.view.frame.size.height * i;
    frame.size = self.view.frame.size;

    UIView *subview = [[UIView alloc] initWithFrame:frame];
    [self.view addSubview:subview];

}

self.view.contentSize = CGSizeMake(self.view.frame.size.width, self.view.frame.size.height *numberOfPages);
}

提前感谢您查看。我找到了可以解决这个问题的方法,但我无法理解问题的真正解决方案是什么。这是该问题的链接:

iPhone UIButton 在 UIScrollView 中没有响应

4

1 回答 1

0

问题是内容大小设置不正确,因此“可点击区域”(内容区域的大小)也没有设置......在您的最后一行代码(最后一个“}”之前的行)您正在设置滚动视图的 contentSize框架到自身,这将只是 0... 试试这个(我使用“first”(嵌套视图)而不是“self”(滚动视图本身)。

self.view.contentSize = CGSizeMake(firstframe.origin.x, (firstframe.origin.y - 20) * numberOfPages);

关于已编辑答案的问题海报的注释:
我对答案进行了更改。在我使用该应用程序之后,我没有完全滚动。我进行了更改以反映我为解决此问题所做的工作并导致整页滚动。由于 uiscrollview 的偏移,需要 -20 偏移。这个偏移量可以在界面生成器中看到。

于 2013-02-26T03:29:39.313 回答