Отключить главный ViewController из бокового меню

Я занимаюсь разработкой приложения, которое можно найти на GitHub, и я не могу понять узнал, как перейти к скользящему боковому меню. Идея состоит в том, что основной ViewController изменится на другой вид, выбранный в боковом меню (без стрелок назад), а затем вернется основной ViewController. Я могу заставить ViewController сдвинуться, но не могу получить переходить правильно. В настоящее время я пытаюсь перейти к «CalendarView.XIB» из «ViewController.m» при нажатии кнопки «Календарь» в боковом меню.

ViewController.m:

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
    if (indexPath.row == 0) {
        NSLog(@"Pressed 0");
        BlogView *blogView = [[BlogView alloc] init];
        [self.puView addSubview:blogView];
        [self hideMenu];
    }
    else if (indexPath.row == 1) {
        NSLog(@"Pressed 1");
        TwitterView *twitView = [[TwitterView alloc] init];
        [self hideMenu];
        [self.puView addSubview:twitView];
    }
    else if (indexPath.row == 2) {
        NSLog(@"Pressed 2");
        PowerView *pschoolView = [[PowerView alloc] init];
        [self hideMenu];
        [self.puView addSubview:pschoolView];
    }
    else if (indexPath.row == 3) {
        NSLog(@"Pressed 3");
        CalendarView *calView = [[CalendarView alloc] init];
        [self.puView addSubview:calView];
        [self hideMenu];
    }
    else {
        NSLog(@"Error");
        //ErrorView *errorV = [[ErrorView alloc] init];
        //[self hideMenu];
        //[self.puView addSubview:errorV];
    }
}

person SuperAdmin    schedule 16.09.2014    source источник


Ответы (2)


Вы не загрузили перо, вот пример календаря:

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{

    NSArray *subviewArray = [[NSBundle mainBundle] loadNibNamed:@"CalendarView" owner:self options:nil];

    if (indexPath.row == 0) {
        ....
    }
    else if (indexPath.row == 3) {
        NSLog(@"Pressed 3");
        CalendarView *calView = [subviewArray objectAtIndex:0];
        [self.puView addSubview:calView];
        [self hideMenu];
    }
    else {
        NSLog(@"Error");
    }
}

Так сделайте то же самое для каждого пункта меню.

person meda    schedule 16.09.2014

если вы используете элемент управления раскадровкой, вручную создайте сегменты и установите идентификаторы, вызовите их, используя

[self performSegueWithIdentifier:@"IDENTIFIER" sender:nil];

лучшее, что я могу придумать :)

person Jordan Newton    schedule 16.09.2014