2014-02-11 1 views
2

В моем приложении я пытаюсь создать кнопку с помощью кнопки. Мой код прямо сейчас выглядят следующим образом:Выполнение действия в другом контроллере представления

- (IBAction)doneTextField:(id)sender { 

    YourShortcutsViewController *YSVC2 = [self.storyboard instantiateViewControllerWithIdentifier:@"ViewController2"]; 
    YSVC2.stringFromTextField = self.textField.text; 
    [self presentViewController:YSVC2 animated:YES completion:nil]; 

    { 
     UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 

     btn.frame = CGRectMake(0, 0, 100, 50); 
     [btn addTarget:self action:@selector(newButtonClicked) forControlEvents:UIControlEventTouchUpInside]; 
      [btn setTitle:@"FaceTime" forState:UIControlStateNormal]; 
     [self.view addSubview:btn]; 

    } 
} 

это работает, но мне нужна кнопка, которая добавляемая для добавления в другом контроллере представления, а не контроллер представления о том, что код находится в Как бы я. это?? Спасибо

ответ

2

Вам нужно создать функцию, чтобы добавить кнопку в новом контроллере представления:

В YourShortcutsViewController.h:

-(void)addFaceTimeButton:(UIButton*); 

В YourShortcutsViewController.m:

-(void)addFaceTimeButton:(UIButton*){ 
    [self.view addSubview:btn]; 
} 

И затем смените свой код на:

- (IBAction)doneTextField:(id)sender { 

    YourShortcutsViewController *YSVC2 = [self.storyboard instantiateViewControllerWithIdentifier:@"ViewController2"]; 
    YSVC2.stringFromTextField = self.textField.text; 
    [self presentViewController:YSVC2 animated:YES completion:nil]; 

    UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 

    btn.frame = CGRectMake(0, 0, 100, 50); 
    [btn addTarget:self action:@selector(newButtonClicked) forControlEvents:UIControlEventTouchUpInside]; 
    [btn setTitle:@"FaceTime" forState:UIControlStateNormal]; 

    [YSVC2 addFaceTimeButton:btn]; 

}