Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/96.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 在子视图的子视图中禁用用户交互_Ios_Objective C - Fatal编程技术网

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

Ios 在子视图的子视图中禁用用户交互,ios,objective-c,Ios,Objective C,我正在将一组视图添加到主视图中,如下所示。即,我有一个包含一组子视图(标签、按钮等)的视图。然后将此视图添加到主视图中。我的问题是当我点击视图中的按钮时,它的iAction未被调用。我的问题是如何在mainView的子视图中调用按钮点击操作 for (int i = 0;i < controls.count;i++) { UIView *view = [[UIView alloc]init]; view.userInteractionEnabled =

我正在将一组视图添加到主视图中,如下所示。即,我有一个包含一组子视图(标签、按钮等)的视图。然后将此视图添加到主视图中。我的问题是当我点击视图中的按钮时,它的
iAction
未被调用。我的问题是如何在mainView的子视图中调用按钮点击操作

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];
        }
for(int i=0;i对于(int j=0;j而言,问题在于未设置UIView(变量
view
)帧(它是0,0,0,0)

改为:

UIView *view = [[UIView alloc]initWithFrame:<a frame>];
UIView*view=[[UIView alloc]initWithFrame:];
例如,
可以是
CGRectMake(0,0,50,50)

该视图的子视图还应设置其框架。请记住,视图(
子视图
)框架是指其父视图中的框架(在您的示例中是
视图


你可以删除
view.userInteractionEnabled=YES;

写下这个[self.view带来的subviewTofront:btnObj];它没有解决问题你在按钮上设置了操作了吗?我已经按照你说的设置了框架,但是运气不好:(同时设置子视图的框架。尝试添加:subview.frame=view.bounds;并确保self.mainView具有C的框架。这-->节省了我的时间。