在子视图的子视图中禁用了用户交互

时间:2014-05-23 10:08:36

标签: ios objective-c

我在主视图中添加了一组视图,如下所示。我有一个视图,其中包含一组子视图(Label,Button等)。然后将此视图添加到主视图中。我的问题是,当我点击视图中的按钮IBAction未调用时。我的问题是如何在mainView的子视图中调用Button tap动作?

for (int i = 0;i < controls.count;i++) {
         UIView *view = [[UIView alloc]init];
         view.userInteractionEnabled = YES;
            for (int j=0; j<viewsArray.count; j++) {

                  UIView *subView = viewsArray[i]; // this may be Button, Label etc
                  subView.tag = controlCount++;
             [view addSubview:subView];
            }
            [self.mainView addSubview:view];
        }

1 个答案:

答案 0 :(得分:3)

问题是UIView(变量view)框架没有设置(它是0,0,0,0)。

更改为:

UIView *view = [[UIView alloc]initWithFrame:<a frame>];

例如,<a frame>可以是CGRectMake(0, 0, 50, 50)

该视图的子视图也应该具有它的框架集。请记住,视图(subview)框架是指其父视图中的框架(在您的情况下为view

您可以删除view.userInteractionEnabled = YES;