我正在一个 App 中创建一个模态视图,其中包含几个子视图。这些子视图中的每一个都有一个按钮和一个与该按钮相关的操作。我使用循环将每个子视图插入到位。问题是前4个子视图没问题,从第5个到最后一个都没有反应。
这是与问题相关的简化代码:
简化的 SubviewView.m
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
// More info button
CGRect buttonFrame = CGRectMake(infoMarginLeft + infoWidthWithInfo, infoHeightControl, 25, 25);
UIButton * button = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
[button setFrame:buttonFrame];
[button addTarget:self action:@selector(buttonTapped:) forControlEvents:UIControlEventTouchUpInside];
[self addSubview:button];
}
return self;
}
-(void)buttonTapped:(id)sender
{
NSLog(@"Button tapped!";
}
简化视图.m
- (void)drawRect:(CGRect)rect
{
for (int i = 0; i < 12; i++) {
// Color info container
SubviewView * miniView = [[SubviewView alloc] initWithFrame:CGRectMake(0, 20 * i, 15, 15)];
miniColorView.backgroundColor = [UIColor clearColor];
// Adding subview through array to keep track of objects
[self addSubview:miniColorView];
}
}
在此先感谢,我完全不知道发生了什么:p
--
编辑
才知道是什么!
父视图的高度与屏幕高度相同。问题是,一些子视图超出了屏幕高度限制。我所要做的就是增加父视图的高度 =)