J'utilise LIBRARY dans mon application mac. et le problème est ici comme quand j'ajoute childviewcontroller dans viewcontroller comme sous-vue et désactiver cette vue si elle est accessible. Vous pouvez voir dans ce VIDEO.Derrière la vue accessible si la vue est désactivée mac os x
et mon STORYBOARD. Vous pouvez voir customview et view_main.
Je fais également classe personnalisée de NSView
pour l'activer et le désactiver. et ci-dessous est le code pour désactiver cette vue si son accessbile.
@implementation NSView (customview)
-(void) setEnabled:(BOOL) isEnabled{
for (NSView* subView in self.subviews) {
if ([subView isKindOfClass:[NSControl class]]) {
[(NSControl*)subView setEnabled:isEnabled];
}else if ([subView isKindOfClass:[NSView class]]) {
[subView setEnabled:isEnabled];
}
}
}
Voici mon code sur le bouton cliquez
#pragma -mark All action methods
- (IBAction)sidebarChanged:(ITSidebar *)sender {
NSLog(@"%@: %lu", [sender selectedItem], (unsigned long)[sender selectedIndex]);
}
- (IBAction)starClicked:(id)sender {
//[self.label setStringValue:@"Star"];
for (NSView* v in [self.custom_view subviews]) {
[v removeFromSuperview];
}
[self.view_main setEnabled:YES];
[self.tbl_emojis setEnabled:YES];
}
- (IBAction)watchClicked:(id)sender {
for (NSView* v in [self.custom_view subviews]) {
[v removeFromSuperview];
}
ContactUsVC* vc = [[ContactUsVC alloc] initWithNibName:@"ContactUsVC" bundle:nil];
vc.view.frame = self.custom_view.bounds;
[self addChildViewController:vc];
[self.custom_view addSubview:vc.view];
[self.view_main setEnabled:NO];
[self.tbl_emojis setEnabled:NO];
}
- (IBAction)tagClicked:(id)sender {
NSLog(@" Tag clicked");
for (NSView* v in [self.custom_view subviews]) {
[v removeFromSuperview];
}
HelpVC* vc = [[HelpVC alloc] initWithNibName:@"HelpVC" bundle:nil];
vc.view.frame = self.custom_view.bounds;
[self addChildViewController:vc];
[self.custom_view addSubview:vc.view];
[self.view_main setEnabled:NO];
[self.tbl_emojis setEnabled:NO];
//[self.label setStringValue:@"Tag"];
}
- (IBAction)trashClicked:(id)sender {
NSLog(@" Trash clicked");
for (NSView* v in [self.custom_view subviews]) {
[v removeFromSuperview];
}
//id animator = [[ContactUsVC alloc] init];
ChangePasswordVC* vc = [[ChangePasswordVC alloc] initWithNibName:@"ChangePasswordVC" bundle:nil];
vc.view.frame = self.custom_view.bounds;
[self addChildViewController:vc];
[self.custom_view addSubview:vc.view];
[self.view_main setEnabled:NO];
[self.tbl_emojis setEnabled:NO];
// [self.label setStringValue:@"Trash"];
}
Je ne sais pas pourquoi derrière l'action du bouton est appelé mon autre point de vue. Que dois-je faire pour empêcher cette action de bouton.
S'il vous plaît aidez-moi je suis coincé ici