2012-02-18 2 views
0

私はxcodeを初めて使用しています。この問題を抱えており、修正方法がわかりません。私の問題は、PopView Segue、Custom Segue、Navigation Controllerの組み合わせを持つUIViewControllerを持っていることです。
ユーザーがテキストボックスをクリックすると、ポップアップが表示され、ポップアップした都市のフォームを選択してポップオーバーを終了できます。しかし、カスタムセグの方法を実行するボタンをクリックすると、ポップアップが再び表示されます。Popoverビューが消えた後に表示される/なぜ2つのセグが同時に起動されるのですか

ポップが再び発砲するのを防ぐ方法はありますか?ここで

あなたがseguesを作成したボタンからあなたのCtrl +ドラッグをやったときに私のコードは

@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

ある方法ですか? 私はVCからドラッグするのが好きです。自動的に呼び出されるので、segueを実行するにはperformSegueWithIdentifierを呼び出さなければなりません。

+0

ダレン、私はテキストボックスを使用していますし、Ctrl +ドラッグしました。私が持っている問題は、ポップアップが表示され、テーブルビューからアイテムを選択すると解除されますが、選択した後に別のページに移動したい場合は、ポップアップが再び表示されます。なぜこのようなことが起こっているのか理解できませんが、違いがあるかどうかを確認する方法を試します。 –

関連する問題