Отправлять subview назад
Я пытаюсь имитировать боковое меню facebook ios и работать с ним, но проблема в том, что я не могу отправить sidemenu на спину, как обсуждалось в другом вопросе о SO iphone facebook side menu с использованием объектива c. Я не использую предложенную библиотеку, но вместо этого использую предложенный код. У меня
- (void)viewDidLoad
{
NSLog(@"View Did Load is running");
activitySpinner = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleGray];
activitySpinner.frame = CGRectMake(0.0, 0.0, 40.0, 40.0);
activitySpinner.center = self.view.center;
[self.view addSubview:activitySpinner];
SideMenuView *myDelegate = [[SideMenuView alloc] init];
[self setSideMenuDelegate:myDelegate];
//set the delegate currentViewController property so that we can add a subview to this View.
[sideMenuDelegate setCurrentViewController:self];
//sideMenu = [[SideMenuView alloc] initWithNibName:@"SideMenuView" bundle:nil];
[self.view addSubview:myDelegate.view];
[self.view sendSubviewToBack:myDelegate.view];
[super viewDidLoad];
self.searchDisplayController.searchBar.scopeButtonTitles = nil;
[self fetchCustomers];
// Do any additional setup after loading the view, typically from a nib.
}
В моем контроллере, где мне нужно боковое меню, но представление, похоже, загружается в текущее представление, а не просто идет назад, поэтому его можно увидеть, когда я перемещаю меню.
Может кто-нибудь помочь мне получить вид myDelegate на спину?
Ответы
Ответ 1
Я не совсем уверен, чего вы пытаетесь достичь, поэтому я должен угадать. Похоже, вы хотите скрыть myDelegate.view
за self.view
. Это не сработает.
sendSubviewToBack:
отправляет subview в обратную сторону иерархии представления отправителя, в вашем случае self.view
. Он никогда не отправит подвью под его наблюдением.
Вместо этого вы можете добавить myDelegate.view
в качестве подзаголовка в self.view
superview и поместить его за self.view
:
[[self.view superview] insertSubview:myDelegate.view belowSubview:self.view];
Ответ 2
Я решил просто пойти с https://github.com/Inferis/ViewDeck и позволить этому управлять представлениями.