как вызвать один контроллер представления другому контроллеру представления в Xcode 4.2 - PullRequest
0 голосов
/ 09 декабря 2011

у меня есть два контроллера представления первый просмотр и второй просмотр.у меня есть представление предупреждений в первом контроллере просмотра теперь я хочу перейти ко второму контроллеру второго просмотра.нажав кнопку просмотра предупреждений.подскажите, как вызвать secondviewcontroller с помощью code.i я новичок в этом деле.вот мой код для просмотра предупреждений.

-(IBAction)enter:(id) sender{
    UIAlertView *alertBox=[[UIAlertView alloc]initWithTitle:@"ThinkTax!" message:@"0.0" delegate:self cancelButtonTitle:@"Button 1" otherButtonTitles:nil];

    [alertBox addButtonWithTitle:@"Sve"];
    [alertBox addButtonWithTitle:@"Button 3"];
    if(FALSE)
    {
        [alertBox addButtonWithTitle:@"Button 4"];
    }

    [alertBox show];
    [alertBox release];
}

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
    NSString *title = [alertView buttonTitleAtIndex:buttonIndex];

    if([title isEqualToString:@"details"])
    {
 UIViewController *secondViewController = [[Hello_WorldViewController alloc] initWithNibName:@"<Hello_WorldViewController >" bundle:nil];
    [self Page3:secondViewController animated:YES];
    [secondViewController release];

            NSLog(@"Button details was selected.");
    }
    else if([title isEqualToString:@"mail"])
    {

        NSLog(@"Button mail was selected.");
    }
    else if([title isEqualToString:@"close"])
    {

        NSLog(@"Button close was selected.");
    }
}

теперь он показывает вывод консоли, как этот.

Ответы [ 3 ]

1 голос
/ 09 декабря 2011

Это код,

UIViewController *secondViewController = [[SecondViewControllerClass alloc] initWithNibName:@"<name of xib>" bundle:nil];
[self presentModalViewController:secondViewController animated:YES];
[secondViewController release];

Есть несколько вопросов на одну и ту же тему, вам необходимо выполнить поиск, прежде чем писать этот вопрос.

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

Я сделал это, но приложение зависает на линии

if([str isEqualToString:@"xxxxx"])
{
if([str1 isEqualToString:@"xxxxx"])
   {
   FirstListView *ab=[[FirstListView alloc]initWithNibName:@"FirstListView" bundle:nil];         
   [self presentModalViewController:ab animated:NO];//here app crashes
   }

   }
   else
  {
    user.text=@"Wrong User";
    password.text=@"";
  }

который у меня есть экран входа в систему

и в FirstListView у меня есть два представления таблицы. понятия не имею, почему приложение вылетает.

0 голосов
/ 09 декабря 2011

Это очень просто. Вам просто нужно создать объект NextViewController, к которому вы хотите перейти, и вызвать для него presentModalViewController .. вот так ::-

в FirstVC.h: -

@class SecondVC;

    SecondViewController *viewController;

inFirstViewController.m: -

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
    NSString *title = [alertView buttonTitleAtIndex:buttonIndex];

    if([title isEqualToString:@"details"])
    {
      viewController = [[SecondViewController alloc]     initWithNibName:@"SecondViewController" bundle:nil];
      [self presentModalViewController:viewController animated:YES];
      [viewController release];
    }
    else if([title isEqualToString:@"mail"])
    {

        NSLog(@"Button mail was selected.");
    }
    else if([title isEqualToString:@"close"])
    {

        NSLog(@"Button close was selected.");
    }
}

И да. То, что сказал KingofBliss, очень верно. Пожалуйста, сделайте это в Уведомлении. Добрый день.

...