在按钮操作中从UIView移动到View控制器

时间:2016-09-24 13:15:12

标签: objective-c uiview uiviewcontroller

我在UIView类中创建了一个按钮,我想将其移动到另一个视图控制器。当我按下按钮时,它应该移动到查看控制器。

我在UIView课程中有这个:

[_okButton addTarget:self action:@selector(delete:) forControlEvents:UIControlEventTouchUpInside];

-(IBAction):(id)sender
{
    SiteViewController *SiteVC2 = [[UIStoryboard storyboardWithName:@"Main" bundle:nil]instantiateViewControllerWithIdentifier:@"SiteVC2"];    
}

请帮我这样做。从UIView移动到ViewController

2 个答案:

答案 0 :(得分:0)

你能否告诉我你将这个UIView实例添加为子视图的位置(我的意思是在哪个视图控制器中)。

选项1:需要为您的UIView子类编写委托,并在viewcontroller中实现委托。现在,当从UIView子类中点击按钮时,触发委托。在viewcontroller中委托回调时,您可以移动到下一个viewcontroller(SiteViewController)

选项2:通过从导航堆栈中获取可见视图控制器并在获取的viewcontroller上推送/显示所需的viewcontroller(SiteViewController)来查找最顶层的视图控制器。

如果两者都不符合您的要求,请回复我,我们将尝试其他几种方式

答案 1 :(得分:0)

[_okButton addTarget:self action:@selector(delete:) forControlEvents:UIControlEventTouchUpInside];

-(IBAction)delete:(id)sender{
 SiteViewController *SiteVC2 = [[UIStoryboard storyboardWithName:@"Main" bundle:nil]instantiateViewControllerWithIdentifier:@"SiteVC2"];
}
//If you want to change the navigation Controller
-(IBAction)delete:(id)sender{    
SiteViewController * SiteVC2 = [self.storyboard instantiateViewControllerWithIdentifier:@"SiteVC2"];

UINavigationController *navigationController =
[[UINavigationController alloc] initWithRootViewController: SiteVC2];
[self presentViewController:navigationController
                   animated:NO
                 completion:^{

                 }];
    }
}