0
现在我正在实现一个UIScrollView,我面临着一个我从来没有看到的问题:在我的滚动视图上的3个UIButton中有2个没有响应我的点击。 其中一个没有,但另一个没有。UIScrollView&UIButtons,真是奇怪的行为
我做了很多的研究,并尝试了很多东西(试图削减的延迟,设置用户交互......)
在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];
我一套scrol视图方法用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)];
感谢您的帮助!
什么是你的UIScrollView的框架?我想象一下你的scrollview的内容大小不够大tbh。 – Dev2rights 2013-04-28 19:31:04
scroller = [[UIScrollView alloc] initWithFrame:CGRectMake(59.0,54.0,145,180)]; – user2057209 2013-04-28 19:39:15
那么就有答案了,180 + 54 = 234对于初学者来说按钮3上的值大于285。调出滚动视图的框架。也不知道为什么你需要该图像视图,因为你不设置图像。 – Dev2rights 2013-04-28 19:43:59