无法在容器视图中添加IBAction按钮

时间:2013-04-30 02:20:10

标签: ios uiview parent-child ibaction

在我的应用程序中,我有一个视图控制器,其中包含嵌入视图中的容器视图。容器视图堆叠在一起并隐藏起来。

viewDidLoad 

self.containerOne.hidden = YES
self.containerTwo.hidden = YES

我想在第一个容器视图中添加一个IBAction按钮,当触摸时,取消隐藏第二个容器视图。我似乎无法从该按钮添加IBAction连接到.h文件。好像我不被允许这样做。我做错了什么,这是不允许的?如果不允许,您如何建议我创建一个具有多个子视图的父视图,我可以一次显示一个?在此先感谢您的时间。

1 个答案:

答案 0 :(得分:2)

我不相信UIContainerViews有与之相关的动作。我没有对此进行过测试,但您应该尝试将tapGestureRecognizers添加到视图中并根据触发的操作隐藏它们:

- (void)viewDidLoad
{
    UITapGestureRecognizer *firstTap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(containerOneTapped)];
    firstTap.cancelsTouchesInView=NO;
    [self.containerOne addGestureRecognizer:firstTap];
    [firstTap release];

    UITapGestureRecognizer *secondTap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(containerTwoTapped)];
    secondTap.cancelsTouchesInView=NO;
    [self.containerTwo addGestureRecognizer:secondTap];
    [secondTap release];    
}

-(void)containerOneTapped
{
    self.containerTwo.hidden=NO;
}

-(void)containerTwoTapped
{
    self.containerOne.hidden=NO;
}