IPhone View на основе приложения Перейти к основному виду - PullRequest
0 голосов
/ 11 октября 2011

В моем приложении, основанном на представлении, оно включает в себя три представления. Первое представление (основной вид) вызывает второе представление. Второе представление вызывает третий вид (подробное представление).Я хочу добавить функцию home в третий вид, чтобы вернуться в первый вид (основной вид).В настоящее время я добавляю кнопку «Домой» в третьем представлении. Но я не знаю, как написать эту функцию.Ниже приведен мой код:

//In First view(main view)
//call second view(list view) in button click
-(IBAction) doctorList:(id)sender
{   
    if(self.doctorViewController==nil)
    {
        DoctorViewController *doctorView=[[DoctorViewController alloc] initWithNibName:@"DoctorViewController" bundle:[NSBundle mainBundle]];

        self.doctorViewController=doctorView;
        [doctorView release];
    }

    self.view addSubview:self.doctorViewController.view];}
}

//In second View(list view)
//Call third view in table cell click
-(void)tableView:(UITableView*)tableView didSelectRowAtIndexPath:(NSIndexPath*)indexPath{
    DoctorItem *physician=[[DoctorItem alloc]init];
    physician=(DoctorItem*)[self.tableDataList objectAtIndex:indexPath.row];    
    DoctorDetail *detail=[[DoctorDetail alloc]init];[tableView.superview addSubview:detail.view];
    [physician release];
}

В третьем представлении есть кнопка с текстом метки «Домой». Когда пользователь нажимает эту кнопку, я хочу добавить возврат в первый вид (основной вид).Я не знаю, как это сделать.

Ответы [ 5 ]

3 голосов
/ 11 октября 2011

Я не видел упоминаний UINavigationControllers в публикациях Феникса ... поэтому, если бы я исправлял этот код, я бы создал метод IBAction, подобный этому:

- (IBAction) homeButtonPressed: (id) sender
{
    // and remove the subviews

    NSArray * subviews = [self.view subviews];
    for(UIView * aSubview in subviews)
    {
        // this removes and releases the subviews you allocated
        [aSubview removeFromSuperview];
    }

}

и подключите действие вашей кнопки к этому методу.

Кроме того, я бы рекомендовал создавать подклассы UIView, а не UIViewController для DoctorView и DoctorViewController. Вам не нужен дополнительный багаж, который приносят UIViewControllers, если вы просто добавляете подпредставления в контроллер корневого представления.

1 голос
/ 29 сентября 2012

Пожалуйста, попробуйте использовать этот .....

[self.view.superview removeFromSuperview];
1 голос
/ 11 октября 2011

Феникс Кьяу,

Попробуйте это,

[self.navigationController pushViewController:homeView animated:YES];

Здесь homeView - это ваш экземпляр homeViewController (куда бы вы ни захотели) ..

1 голос
/ 11 октября 2011

Поскольку вы просто перемещаетесь между контроллерами представления, вы можете просто выполнить popToRootViewController в последнем контроллере представления, и это вернет вас к rootViewController (вашему главному представлению).

0 голосов
/ 18 ноября 2013

Попробуйте это,

Это сработало для меня

[self.view addSubview:firstViewController.view];

или попробуйте это

[self presentModalViewController:firstViewController animated:YES]; // this is deprecated in ios6.0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...