子视图打开时禁用父视图

时间:2012-08-31 05:28:42

标签: iphone objective-c xcode

我有两个观点。 viewController和myCustomAlert。我在viewController中添加了myCustomAlert作为子视图。

这是将myCustomAlert添加为子视图时调用的函数。

-(void)ratingAction:(id)sender
{
    if ([sender isKindOfClass:[UIButton class]]) 
    {
        [[NSBundle mainBundle] loadNibNamed:@"myCustomAlert" owner:self options:nil
        ];

        Custom_view.frame = CGRectMake(10, 100, 287, 165);

        [self.view addSubview:Custom_view];
         self.view.userInteractionEnabled = false;
         Custom_view.userInteractionEnabled = true;

    }
}

我希望禁用父视图,因此我禁用了userinteraction,但它也禁用了子视图。怎么做??我希望我的子视图像警报一样工作。

2 个答案:

答案 0 :(得分:1)

您可以尝试的一种方法是设置子视图框架,使其完全隐藏其超级视图控制器,即0,0,320,460,并确保子视图上的内容正确放置在您想要的位置,然后制作背景颜色子视图透明。

myCustomAlert.backgroundColor = [UIColor clearColor];

答案 1 :(得分:0)

当您将子视图添加到特定视图时,子视图和父视图将共同成为一个视图,即父视图。所以禁用交互将禁用两者。

对于您来说,将带有动画属性的modelview控制器显示为false并禁用父视图交互。告诉我你是否实现了目标