这是我的问题:
我在循环中向滚动视图添加了几个按钮:
for (int i = 0; i < [allEventArray count]; i++) {
UIButton *eventButton = [UIButton buttonWithType:UIButtonTypeCustom];
eventButton.tag = i + 10;
UIImage *normalImage = [UIImage imageNamed:@"rosterButton.png"];
normalImage = [normalImage
stretchableImageWithLeftCapWidth:normalImage.size.width/2
topCapHeight:normalImage.size.height/2];
[eventButton setBackgroundImage:normalImage
forState:UIControlStateNormal];
[eventButton addTarget:self action:@selector(gotoThisAirport)
forControlEvents:UIControlEventTouchUpInside];
[drawRosterView addSubview:eventButton];
}
我稍后通过打开tag属性来设置帧大小和其他内容。 所有按钮都显示为广告。 问题是只有视图中的第一个按钮响应点击。其他人只是坐在那里冷静,什么都不做。怎么会这样?它让我绝对疯狂!
请帮忙!
答案 0 :(得分:2)
听起来你的UIButton并没有完全进入你的UIView。
尝试仅将UIButton添加到UIView,并将UIView的背景颜色设置为[UIColor greenColor]
。然后,您应该看看UIButton是否部分在UIView之外。
另外,如果你在 - (void)中添加一个NSLog(“click”)调用,touchesBegan :( NSSet *)触及withEvent:(UIEvent *)事件;如果UIView检测到触摸,你可以点击屏幕上的任意位置并获得反馈。