2014-09-21 51 views
0

我有一个主要的VC与自定义选项卡栏和容器视图。我在标签栏中有三个按钮,它们使用自定义的segue链接到3个不同的视图,可以完美地切换视图。使用容器视图内的UIButton连接到父视图

在我的一个孩子的意见中,我有一个按钮。我想要那个按钮连接到父视图,但是按下按钮时应用程序会崩溃。

我已经看了几个答案,才发现答案就在父视图中使用一个按钮开关childviews问题,如:Linking child view controllers to a parent view controller within storyboard

我的结构如下:

主要VC - >儿童主要VC内VC - >按钮

按钮 - >自定义Segue公司 - >新建主VC嵌入导航VC

当我按下孩子VC中的按钮链接到它崩溃了新的主VC 。

这是我的prepareForSegue代码:

.h文件:

//Name of the parent class linking to 
@property (weak, nonatomic) FillUpEntryViewController * fueVC; 

M档:

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { 
    if ([segue.identifier isEqualToString:@"NewEntrySegue"]) { 
     self.fueVC = segue.destinationViewController; 
    } 
} 

任何帮助将非常感激。我不认为它应该像现在这样困难,但我相对比较新。

编辑: 子视图有自己的类,它包含上面的segue代码。只是为了消除任何困惑。

Flow of Events

+0

“应用程序崩溃时按下按钮”所以这是关于崩溃?然后解释按钮的功能并显示崩溃信息。 – matt 2014-09-21 04:30:27

+0

@matt不是关于崩溃。崩溃根本没有信息。这是一个逻辑错误。像在父视图中一样,能够从子视图内连接一个segue似乎是合乎逻辑的,但显然情况并非如此。 – 2014-09-21 04:39:41

+0

你的问题不清楚; “我希望按钮连接到父视图”是什么意思?连接是什么意思(你的意思是继续)?故事板中的哪些控制器与导致崩溃的segue连接?它是什么类型的? – rdelmar 2014-09-21 05:07:38

回答

0

我不知道我是否你已了解,你可以创建一个赛格瑞辞退,并通过它加入你的故事板的两种观点,或者只是使用代码在你的行动:

进口 “DismissSegue.h”

.h文件中

#import <UIKit/UIKit.h> 

@interface DismissSegue : UIStoryboardSegue 


@end 

.m文件

@implementation DismissSegue 

-(void)perform{ 
    UIViewController *sourceViewCOntroller = self.sourceViewController; 
    [sourceViewCOntroller.view endEditing:YES]; 
    [sourceViewCOntroller.presentingViewController dismissViewControllerAnimated:YES completion:nil]; 
} 

@end 

我希望它能帮助你。

相关问题