Я собираюсь реализовать Facebook-подобную навигацию для iPhone-приложения. Я могу легко и без проблем перемещать его, но когда я хочу нажать кнопку или что-нибудь в этом навигационном представлении, ничего не происходит.Объектив C: Subview не доступен для просмотра
Вот код для моего зрения боковой панели инициализирую в viewDidLoad:
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];
Тогда у меня есть следующий метод, чтобы скользить его в:
- (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;
}];
}
Я попробовал несколько комбинаций userInteractionEnabled = ДА в каждом подзаголовке ... Изменено ничего ... Может ли быть, что subviews моего sideNavigationView не могут быть выбраны, потому что когда я его инициализирую, он скрыт из виду? Я попытался инициализировать его с помощью рамки в поле зрения (CGRectMake (0,0,238,300)), и это сработало. -_- Так как я могу решить свою проблему?