Ich bin dabei, eine Facebook-ähnliche Seitennavigation für eine iPhone App zu implementieren. Ich kann es ohne Probleme ein- und ausblenden, aber wenn ich auf eine Schaltfläche oder irgendetwas in dieser Navigationsansicht klicken möchte, passiert nichts.Ziel C: Subview nicht anklickbar
Hier ist der Code für meine Seite Navigationsansicht ich in viewDidLoad initialisieren:
self.sideNavigationView = [[UIView alloc] initWithFrame:CGRectMake(self.navigationController.view.frame.size.width, 20, 238, self.navigationController.view.frame.size.height-20)];
[self.navigationController.view addSubview:self.sideNavigationView];
Dann habe ich die folgende Methode in Stössel:
mehrere Kombinationen von userInteractionEnabled- (IBAction) openMenuBar: (id) sender {
if (!self.sideNavigationIsExpanded) {
self.sideNavigationView.frame = CGRectMake(self.navigationController.view.frame.size.width, 20, 238, self.navigationController.view.frame.size.height-20);
}
CGRect destination = self.navigationController.view.frame;
CGRect sideNavigationDestination = self.sideNavigationView.frame;
sideNavigationDestination.size.width = 238;
// Slide back
if (self.sideNavigationIsExpanded) {
sideNavigationDestination.origin.x = self.view.frame.size.width;
destination.origin.x = 0;
sideNavigationDestination.origin.y = 20;
self.sideNavigationIsExpanded = NO;
}
// Slide in
else {
sideNavigationDestination.origin.x = self.view.frame.size.width;
destination.origin.x = - sideNavigationDestination.size.width;
sideNavigationDestination.origin.y = 20;
self.sideNavigationIsExpanded = YES;
self.sideNavigationView.hidden = NO;
}
[UIView animateWithDuration:0.25 animations:^{
self.sideNavigationView.frame = sideNavigationDestination;
self.navigationController.view.frame = destination;
} completion:^(BOOL finished) {
if (!self.sideNavigationIsExpanded)
self.sideNavigationView.hidden = YES;
self.view.userInteractionEnabled = !self.sideNavigationIsExpanded;
self.sideNavigationView.userInteractionEnabled = self.sideNavigationIsExpanded;
}];
}
Ich versuchte = JA bei jeder Unteransicht ... Nichts geändert ... Könnte es sein, dass die Unteransichten meiner sideNavigationView nicht auswählbar sind, weil ich sie bei der Initialisierung nicht sehen kann? Ich habe versucht, es mit einem Rahmen in Sicht (CGRectMake (0,0,238,300)) zu initialisieren und das hat funktioniert. -_- Also, wie könnte ich mein Problem lösen?