Добавление нового взгляда на rightcalloutaccessoryview нажатием кнопки

голоса
0

Я хочу, чтобы добавить новый взгляд на кнопку rightcalloutaccessoryview прессе. Я в настоящее время имею функциональные возможности для падения булавки на карте. Выноски (MKAnnotation) с названием, субтитрами и шевронные нагрузки, когда я нажмите булавку. Когда я нажимаю на шеврон (rightcalloutaccessoryview) Я хочу, чтобы другой вид всплывал показывает больше информации в этой точке. Прямо сейчас, кран шеврон ничего не делает. Это то, что у меня есть:

-(IBAction)showInfo:(id)sender 
{     
     int calloutButtonPressed = ((UIButton *)sender).tag;
     if(calloutButtonPressed < 99999)
     {
          if(self.DetailView == nil)
          {
               DetailViewController *tmpViewController = [[UIViewController alloc] initWithNibName:@DetailView bundle:nil];
               self.DetailView = tmpViewController;
               [tmpViewController release];
          }

          if (calloutButtonPressed == 1) 
          {
                         // Using the debugger, I found that calloutButtonPressed is equal to 0 when the button is pressed.
                         // So I'm not sure what the point of this method is...
                }
          self.DetailView.title = @Title;
     }
 }

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

Благодаря!

Томас

Задан 11/02/2010 в 06:31
источник пользователем
На других языках...                            


1 ответов

голоса
0

    -(IBAction)showInfo:(id)sender 
{   
     int calloutButtonPressed = ((UIButton *)sender).tag;
     if(calloutButtonPressed < 99999)
     {
          if(self.detailView == nil)
          {
               DetailViewController *tmpViewController = [[DetailViewController alloc] initWithNibName:@"DetailViewController" bundle:nil];
               self.detailView = tmpViewController;
               [tmpViewController release];
          }

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

          if (calloutButtonPressed == 0) 
          {
               // TRP - I inserted my view atIndex:99999 to ensure that it gets placed in front of all windows
               // TODO: figure a better way to do this
               [self.view insertSubview:detailView.view atIndex:99999];
          }
          self.detailView.title = @"Title";
     }

}

Он пропускал это одно заявление:

[self.view insertSubview:detailView.view atIndex:99999];

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

Я получил помощь от разработчиков Форума компании Apple, здесь .

Ответил 19/02/2010 в 23:24
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more