Tag: uistoryboardsegue

从自定义单元格select模式视图控制器segue iOS7问题

最终编辑 经过进一步的调查,我认为最好是重新提出这个问题,提供更多有关这个问题的信息。 这个问题似乎只发生在iOS7上。 我已经在iOS6上testing过了,这个工作没有问题。 – 安装程序设置是你有一个UIViewController (例如第一个VC),它拥有一个tableView,是数据源/委托。 当tableView中的单元格被选中/点击时,你执行第二个视图控制器(现在可以是空的)。 问题 问题是赛格不会立即发生。 如预期的在一秒之内。 在segue中没有数据被传递,或者在第二个视图控制器中加载的任何东西,所以你期望它是即时的。 有时候,这可以正常工作,没有任何问题。 其他时候,你会点击单元格,什么都不会发生。 – 被关注的趋势我注意到,当“问题”发生时。 模拟器/设备将等待,直到下一分钟开始,然后强制通过模态视图控制器的负载。 或者当问题发生时,您可以再次点击/点击设备屏幕上的任何地方,以“强制”负载。 这个问题可以在一个新的项目中复制,只是基础知识。我已经上传了一个包含这个项目的示例项目zip 。 附加代码(如果需要) 我有一个自定义的单元格设置。 当选中单元格时,执行以下操作: -(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { NSLog(@"%s",__PRETTY_FUNCTION__); if (indexPath.section == 0) { [self performSegueWithIdentifier:@"selectGameTurnDiff" sender:self]; } } 然后我在prepareForSegue中有以下几点: -(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { NSLog(@"%s",__PRETTY_FUNCTION__); [super prepareForSegue:segue sender:sender]; } logging 下面是一些示例日志来显示此:运行1 2013-10-09 23:54:09.855 App [14954:a0b] […]

有没有办法以编程方式select一个segue锚点?

假设我有一个Storyboard,其中包含一个包含button的视图。 当用户按下这个button时,会popup一个popup窗口。 因此,我需要通过使用Xcode将segue拖到button来设置锚点(然后执行SegueWithIdentifier:) 。 所以,我的问题是:有没有一种方法来设置这个“锚”编程? 谢谢。

如何在使用自适应search时获得对UIPopoverController的引用?

在我的iOS 7应用程序中,我通过checkFor在prepareForSegue检测到了一个segue是一个popover: if ([segue isKindOfClass:[UIStoryboardPopoverSegue class]]) 但是现在我正在使用自适应赛格,在上面的检查中,现在作为Popover segue不再返回true。 这是因为segue不再是一个UIStoryboardPopoverSegue ,而是一个UIStoryboardPopoverPresentationSegue 。 但是,不能简单地添加Presentation单词,因为没有定义。 什么是适当的方式来检测什么时候赛格是一个适应性赛格popup ,而不是一个全屏模态表示? 而且, 你如何获得iOS 8的popover的参考 ? 以下是我为iOS 7做的事情,但是又因为它不是UIStoryboardPopoverSegue这会导致崩溃。 UIPopoverController *popover = ((UIStoryboardPopoverSegue *)segue).popoverController; popover.popoverContentSize = CGSizeMake(380, 1000);

解开UINavigationController的Segue

我有一个简单的UINavigationController将UIViewController通过自定义的segue推入堆栈。 然后,我在第一个UIViewController上实现了一个IBAction来执行展开动作,并实现了segueForUnwindingToViewController。 不幸的是,segueForUnwindingToViewController没有被调用(我确认在第一个VC上调用了CanPerformUnwindSegue)。 我还没有看到这种行为的任何简单的例子。 任何人都可以请帮忙? 谢谢。 这是来自NavigationController的根视图控制器的代码。 – (IBAction) unwindFromSegue:(UIStoryboardSegue *)segue { // unwinds back to here //[self performSegueWithIdentifier:@"UnwindToObjectManageSegue" sender:self]; } – (BOOL)canPerformUnwindSegueAction:(SEL)action fromViewController:(UIViewController *)fromViewController withSender:(id)sender { return YES; } – (BOOL)shouldPerformSegueWithIdentifier:(NSString *)identifier sender:(id)sender { return YES; } – (UIStoryboardSegue *)segueForUnwindingToViewController:(UIViewController *)toViewController fromViewController:(UIViewController *)fromViewController identifier:(NSString *)identifier { ObjectManageObjectDetailSegue *segue = [[ObjectManageObjectDetailSegue alloc] initWithIdentifier:identifier source:fromViewController destination:toViewController]; […]

如何unwindForSegue:对viewController:工作?

在我的简单的应用程序中,我创build了一些基本的赛格控制器: 黄色控制器 – > BlueController – > GreenController – > OrangeController 。 他们每个人都有自己的习惯课。 从OrangeController,我创build了unwindSegue到我的YellowController。 没关系。 在每堂课中我都提到: override func unwindForSegue(unwindSegue: UIStoryboardSegue, towardsViewController subsequentVC: UIViewController) { print(unwindSegue) print(subsequentVC) } 但是根本不叫。 为什么? 我应该准备什么样的testing来testing这个function? 同样是: func allowedChildViewControllersForUnwindingFromSource(source: UIStoryboardUnwindSegueSource) -> [UIViewController] func childViewControllerContainingSegueSource(source: UIStoryboardUnwindSegueSource) -> UIViewController?

如何检查一个视图控制器是否可以执行一个segue

这可能是一个非常简单的问题,但没有得到任何结果时,search它,所以这里是… 我正在试图找出一种方法来检查某个视图控制器是否可以在调用performSegueWithIdentifier:方法之前使用标识符XYZ执行segue。 有些东西是: if ([self canPerformSegueWithIdentifier:@"SegueID"]) [self performSegueWithIdentifier:@"SegueID"]; 可能?

为什么不为这样的login屏幕设置初始视图控制器?

我已经读过这个和这个问题。 但是我不明白为什么下面的代码是不够的。 这只是工作。 我需要一个else语句来为LoginViewController设置rootViewController吗? 它是不是已经由故事板设置? func application(application: UIApplication, willFinishLaunchingWithOptions launchOptions: [NSObject : AnyObject]?) -> Bool { if Settings.loggedIn { let mainStoryboard = UIStoryboard(name: "Main", bundle: NSBundle.mainBundle()) let mainViewController = mainStoryboard.instantiateViewControllerWithIdentifier("MainViewController") self.window?.rootViewController = mainViewController self.window?.makeKeyAndVisible() } return true } 在LoginController中,我应该设置AppDelegate rootController吗? 为什么不执行赛克? @IBAction func login(sender: AnyObject) { performSegueWithIdentifier("loginToMainSegue", sender: nil) } 另外为什么不执行退出login? @IBAction func logout(sender: AnyObject) […]

在自定义stream行音乐播放期间,视图转换不会animation

当我将新的视图控制器推送到导航堆栈上时,我使用自定义的segue来创build展开animation。 如果prepareForSegue:sender:被调用时没有指定sourceRect,则目标视图控制器将从源视图控制器的中心展开。 ExpandSegue.m: – (id)initWithIdentifier:(NSString *)identifier source:(UIViewController *)source destination:(UIViewController *)destination { self = [super initWithIdentifier:identifier source:source destination:destination]; self.sourceRect = CGRectMake(source.view.center.x, source.view.center.y, 0.0, 0.0); return self; } – (void)perform { UIViewController *sourceViewController = (UIViewController *)self.sourceViewController; UIViewController *destinationViewController = (UIViewController *)self.destinationViewController; CGRect destinationRect = sourceViewController.view.frame; CGFloat tx = self.sourceRect.origin.x + self.sourceRect.size.width/2 – destinationRect.origin.x – destinationRect.size.width/2; CGFloat ty […]

iOS将数据从viewController2传递回给presentModalSegue的viewController 1

我有viewController1,使模式segue我的viewController2,但 viewController2embedded在导航控制器上 因为我需要那里的导航栏。 我已经实现了一个协议,从viewController2发回的数据viewController1,但它不起作用。 这是我的代码: protocol writeValueBackDelegate { func writeValueBack(value: String) } class viewController1: UITableViewController, writeValueBackDelegate { override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { if segue.identifier == "SelectAddress"{ if let dest = segue.destinationViewController as? MapAddressViewController{ dest.delegate = self } } } } 在viewController2我有这个: class viewController2: UIViewController{ var delegate: writeValueBackDelegate? @IBAction func TaskOneClick(sender: AnyObject) { delegate?.writeValueBack(txtAddress!.text!) […]

如何创build从UIViewController到UISplitViewController的segue

这是我的iPad应用程序设置。 我使用UIStoryboard的单一视图应用程序创build了一个新项目。 XCode创build了主要的UIViewController作为入口点。 在视图中,我放置了一个带有button的工具栏。 然后,我将一个UISplitViewController到存储板。 我想要的是从工具栏有一个button,将加载与主/细节表的拆分视图。 我试图点击button并拖动到创build一个segue的splitviewcontroller,但我创build的每个组合失败运行和崩溃。 我的工具栏将有许多其他button,将加载其他意见。 问题是,如何使用storyboard来链接加载拆分视图的configuration? 所有谷歌的结果都显示我没有这样的设置的例子。 提前致谢