Popover视图在被解雇之后出现/为什么两个segue同时被解雇

时间:2012-02-18 23:07:30

标签: objective-c xcode ios5 xcode4.2 uipopovercontroller

我是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];
}

}

1 个答案:

答案 0 :(得分:0)

当您创建了segues时,您是否按下了Ctrl +拖动按钮? 我喜欢从VC中拖动,这样他们就会被自动调用,你必须调用performSegueWithIdentifier才能实现segue。