UIScrollView& UIButtons,真的很奇怪的行为

时间:2013-04-28 19:22:18

标签: ios objective-c uiscrollview uibutton

现在我正在实现一个UIScrollView,我遇到了一个我从未见过的问题:滚动视图中的3个UIButtons中的2个没有响应我的点击。 一个做但另一个没做。

我做了很多研究,并尝试了很多东西(尝试减少延迟,设置用户互动......)

在viewDidLoad方法中:

BoutonPig1 = [UIButton buttonWithType:UIButtonTypeCustom];
[BoutonPig1 setFrame:CGRectMake(0, 45, 145, 90)];
[BoutonPig1 addTarget:self action:@selector(BonusShop) forControlEvents:UIControlEventTouchUpInside];
UIImage * boutonPig1OnImage = [UIImage imageNamed:@"Pig2ShopBloquee.png"];
[BoutonPig1 setImage:boutonPig1OnImage forState:UIControlStateNormal];

我的设置滚动视图方法有3个元素:

-(void)setScrollView:(UIScrollView *)scroller1
{
for (int i = 0; i < 3; i++) 
{
    CGRect frame;
    frame.origin.x = 0;
    frame.origin.y = scroller.frame.size.height * i;
    frame.size = scroller.frame.size;

    UIImageView *newPageView = [[UIImageView alloc] init];
    newPageView.contentMode = UIViewContentModeScaleAspectFit;
    newPageView.frame = frame;

    if (i == 0)
    {
        [newPageView addSubview:BoutonPig1];
    }
    if (i == 1)
    {
        [newPageView addSubview:BoutonPig2];
    }
    if (i == 2)
    {
        [newPageView addSubview:BoutonPig3];
    }
    [newPageView setUserInteractionEnabled:YES];
    [scroller addSubview:newPageView];
}
scroller.contentSize = CGSizeMake(scroller.frame.size.width * 3, scroller.frame.size.height);
}

我在子视图中放置的三个元素是3个UIButtons,就像在第一个代码提取中一样。做同样的事情。现在唯一不同的是他们的立场。

    [BoutonPig2 setFrame:CGRectMake(0, 164, 145, 90)];
    [BoutonPig3 setFrame:CGRectMake(0, 285, 145, 90)];

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

我认为问题出现在坐标中,因为你在newPageView上添加按钮BoutonPig2 BoutonPig3,坐标为CGRectMake(0,164,145,90)CGRectMake(0,285,145,90),但你需要设置CGRectMake( 0,45,145,90)对于所有或CGRectMake(0,0,145,90)...因为你不在scool上添加按钮但是在newPageView上你有新的坐标0,0