2012-02-18 36 views
0

我是新來的xcode和我一直在運行這個問題,我不知道如何解決它。我的問題是我有UIViewController具有popover segue,自定義segue和導航控制器的組合。
用戶點擊文本框並彈出窗口,他們可以選擇一個城市形式的流行音樂播放,流行音樂被解散。但是如果他們點擊執行自定義搜索方式的按鈕,彈出窗口會再次出現。彈出視圖顯示後,它已被解僱/爲什麼兩個segue被同時發射

有什麼辦法可以阻止流行音樂再次發射?

這裏是我的代碼是如何

@interface …. 
{ 
    UIPopoverController *popoverController; 
} 
@property (strong) UIPopoverController *popoverController; 

@end 
@implementation … 

@synthesize popoverController; 


… 
-(BOOL)popoverControllerShouldDismissPopover:(UIPopoverController *)popoverController 
{ 
    return YES; 
} 

-(void)popoverControllerDidDismissPopover:(UIPopoverController *)popoverController 
{ 
    self.popoverController = nil; 
} 

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 
{ 
    UIStoryboardPopoverSegue *storePopeOver; 
    UIPopoverController *thePopover; 
    UIViewController *ContentVC; 

    if(self.popoverController) 
    { 
     [self.popoverController dismissPopoverAnimated:NO]; 
     self.popoverController = nil; 
    } 
    //Popover 
    if([segue.identifier isEqualToString:@"FindFrom"]) 
    { 

     storePopeOver =(UIStoryboardPopoverSegue *)segue; 
     thePopover = [storePopeOver popoverController]; 
     self.popoverController = thePopover; 
     [segue.destinationViewController setDelegate:self]; 
     self.segueTyp = @"FROM"; 

    } 
//Custom segue 
if([segue.identifier isEqualToString:@"TimeTable"]) 
    { 
     [segue.destinationViewController setDelegate:self]; 
    } 
} 

//When the user clicks on the textField performDegue 
- (IBAction)FromTxtFieldBeginEdit:(UITextField *)sender { 
    [self performSegueWithIdentifier:@"FindFlightsFrom" sender:self]; 
} 

} 

回答

0

當你創建的塞格斯確實從按鈕,您按Ctrl +拖動? 我喜歡從VC中拖拽,這樣他們就會自動調用,並且必須調用performSegueWithIdentifier才能發生。

+0

達倫,我正在使用文本框,我做了Ctrl +拖動。我遇到的問題是彈出窗口顯示,當他們從表格視圖中選擇項目時會被解僱,但是我遇到的問題是,如果選擇後使用者想要轉到其他頁面,彈出窗口會再次顯示。我不明白爲什麼會發生這種情況,但我會試試你的方式,看看是否有任何改變。 – 2012-02-27 19:18:38