我是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 :(得分:0)
当您创建了segues时,您是否按下了Ctrl +拖动按钮? 我喜欢从VC中拖动,这样他们就会被自动调用,你必须调用performSegueWithIdentifier才能实现segue。