проблема с контроллером представления - PullRequest
0 голосов
/ 28 марта 2011

хай, У меня есть приложение на основе вкладок окна. Я создал 5 элементов панели вкладок, один из элементов панели вкладок - клиент. После нажатия на клиента мне нужно добавить еще одну панель вкладок и 3 контроллера просмотра, таких как список клиентов, выбрать клиента и список счетов. Для этого я использовал контроллер сегмента и 3 кнопки контроллера сегмента.

Я создал IBaction:

-(IBAction) segmentedControlIndexChanged
{

  switch (self.segmentedControl.selectedSegmentIndex) 
{

        case 0:
    CustomerListviewController *customerListViewController=[[CustomerListviewController alloc]init];
    [self.view addsubView:customerListViewController.view];
    break;

        case 1:
    SelectCustomerviewController *selectCustomerviewController =[[ SelectCustomerviewController alloc]init];
    [self.view addsubView:*selectCustomerviewControllerr.view];

         break;

    case 2:
    InvoiceListViewController *invoiceListViewController=[[ InvoiceListViewController alloc]init];
    [self.view addsubView:invoiceListViewController.view];
     break;

        default:

    break;
   }
}

Но когда я касаюсь одного контроллера сегмента, вид отображается с предыдущим видом в фоновом режиме. Как я могу решить эту проблему. Если у меня есть альтернативная идея вместо использования контроллера сегмента, я согласен использовать. Пожалуйста, помогите мне решить это или альтернативное решение.

1 Ответ

0 голосов
/ 28 марта 2011

Прямо сейчас вы не удаляете никакие представления перед добавлением нового, используйте метод «removeFromSuperview», чтобы удалить подпредставления, которые вам больше не нужны. Если вы хотите завершить tabula rasa после каждого переключения, попробуйте что-то вроде этого:

-(IBAction) segmentedControlIndexChanged
{

  // Remove all subviews of the main view of the view Controller
  for (UIView *view in [self.view subviews]) {
     [view removeFromSuperview];
  }

  switch (self.segmentedControl.selectedSegmentIndex) {

        case 0:
    CustomerListviewController *customerListViewController=[[CustomerListviewController alloc]init];
    [self.view addsubView:customerListViewController.view];
    break;

        case 1:
    SelectCustomerviewController *selectCustomerviewController =[[ SelectCustomerviewController alloc]init];
    [self.view addsubView:*selectCustomerviewControllerr.view];

         break;

    case 2:
    InvoiceListViewController *invoiceListViewController=[[ InvoiceListViewController alloc]init];
    [self.view addsubView:invoiceListViewController.view];
     break;

        default:

    break;
   }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...