2013-07-27 3 views
-3

У меня есть моя кнопка здесь, в конце этой функции я хочу переключиться на другой контроллер. Однако я не могу понять, как его переключить, я только работаю над версией приложения для iphone.StoryBoard - Просмотр контроллеров, как переключаться?

- (IBAction)loginMe:(UIButton *)sender { 
    [self.view endEditing:YES]; 
    NSURL *url = [NSURL URLWithString:@"http://192.168.1.111:8888/api.php"]; 
    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url]; 
    [request setHTTPMethod:@"POST"]; 
    NSString *requester = [NSString stringWithFormat:@"type=account&username=%@&password=%@",self.username.text,self.password.text]; 
    NSData *requestBody = [requester dataUsingEncoding:NSUTF8StringEncoding]; 
    [request setHTTPBody:requestBody]; 
    NSURLResponse *response = NULL; 
    NSError *requestError = NULL; 
    NSData *responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&requestError]; 
    NSString *responseString = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding]; 
    if([responseString isEqualToString:@"1"]) 
    { 
     self.data.text = @"Username or password incorrect"; 
    } 
    else 
    { 
     NSData* data = [responseString dataUsingEncoding:NSUTF8StringEncoding]; 
     NSError *jsonParsingError = nil; 
     NSArray *publicTimeline = [NSJSONSerialization JSONObjectWithData:data 
                    options:0 error:&jsonParsingError]; 

     NSUserDefaults *ud = [NSUserDefaults standardUserDefaults]; 

     [ud setInteger:1 forKey:@"isLoggedin"]; 
     [ud setObject:[publicTimeline objectAtIndex:0] forKey:@"userid"]; 
     [ud setObject:[publicTimeline objectAtIndex:1] forKey:@"username"]; 
     [ud setObject:[publicTimeline objectAtIndex:2] forKey:@"loginstr"]; 
     [ud synchronize]; 
     [self animateLoginBox]; 
     self.data.text = responseString; 
    } 
} 

Любая помощь будет очень признательна!

Спасибо!

+0

Вы пробовали управлять перетаскиванием с кнопки на новый контроллер просмотра и дать ему модальный отступ? Я предполагаю, что вы используете раскадровку. –

ответ

0

Ваши контроллеры вашего зрения встроены в контроллер навигации? если так;

Импорт этих контроллеров просмотра .h в верхнюю часть текущего контроллера. Затем в раскадровке создайте идентификатор раскадровки для этого контроллера. Затем в методе, который перемещается в новый контроллер представления попробовать это:

YourNewViewController *newVC = [self.storyboard instantiateViewControllerWithIdentifier:@"yourStoryboardID"]; 
[self.navigationController pushViewController:newVC animated:YES]; 

Но если он не встроен в контроллере навигации, попробуйте следующее:

YourNewViewController *newVC = [[YourNewViewController alloc]init]; 
[self presentModalViewController:newVC animated:YES]; 

Надеется, что это помогает!

+0

Не использовать навигационный контроллер. Однако presetnModalViewController говорит, что он устарел. Любые другие идеи? – Bioto

+0

попробуйте, [сам подарокViewController: новыйVC анимированный: YES завершение: nil]; – dylaank

+0

@NicholasYoung, если вы наберете имя метода с обесценением в поиске документации и нажмите на этот метод (с красной линией через него), он скажет вам, что такое метод замены. – rdelmar