I have a Main View Controller that has many subviews. What I want is to disable all other views except one subview and its subviews programmatically from the subview file. But all I get is all frozen views. What did I do wrong?
I tried this code:
#define kDontDisableUserInteraction 321
- (id)initWithFrame:(CGRect)frame
{
    NSLog(@"initWithFrame");
    self = [super initWithFrame:frame];
    if (self) {
        // Initialization code
        self.tag = kDontDisableUserInteraction;
    }
    return self;
}
-(void)something{
    MVC *myController = [self getMVC];
    for (UIView* subview in myController.view.subviews) {
        NSLog(@"subview.tag %i", subview.tag);
        if (subview.tag != kDontDisableUserInteraction){
            subview.userInteractionEnabled = NO;
        }
    }
    for (UIView *view in self.subviews){
        NSLog(@"enabled!");
        view.userInteractionEnabled = YES;
    }
}
- (MVC *)getMVC {
    Class vcc = [MVC class];    // Called here to avoid calling it iteratively unnecessarily.
    UIResponder *responder = self;
    while ((responder = [responder nextResponder])) if ([responder isKindOfClass: vcc]) return (MVC *)responder;
    return nil;
}