2014-09-21 62 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 

我希望它能幫助你。

相關問題