Tag: uistoryboardsegue

在Storyboards中login成功后执行segue

我有2个UITextFields ,其中一个用于login,另一个用于密码。 只有login是“成功”的,我想执行Segue Push到另一个View Controller 。 但是,当我触摸button时,直接将视图推送到另一个视图,而不检查条件。 在StoryBoard中,我从UIButton拖动到我想要推送的视图控制器,用于通过push选项创buildsegue。 这是我的代码: – (IBAction)buttonLogin:(id)sender { if (([self.textFieldLogin.text isEqualToString:@"User"]) && ([self.textFieldPassword.text isEqualToString:@"1515"])){ [self performSegueWithIdentifier:@"SegueLogin" sender:self]; }else{ UIAlertView *alert=[[UIAlertView alloc] initWithTitle:@"User wrong" message:@"Fill up again the user info" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:@"Cancel", nil]; [alert show]; } }

如何正确地将数据从一个Tab切换到另一个Tab

我有一个标签栏控制器,这是初始视图控制器,它也有一个PFLoginViewController如果用户没有login幼崽。login/注册stream程正常工作。 这两个选项卡是1.一个UICollectionView ,我将从现在开始将其称为IntroVC 2.一个UITableView ,我将引用FeedVC 当用户点击IntroVC一张照片时,一个Show segue被触发(通过prepareForSegue ),显示第三个屏幕( UIView ),这在技术上不是一个标签。 我从现在开始将其称为SelectVC 。 注:所有这些屏幕也embedded(设备)在导航控制器。 SelectVC显示一张照片,并且有一个UIButton ,用户可以按下这个UIButton触发一个Show segue和Unwind segue,将图像推送到FeedVC 。 我创build一个Unwind segue的原因是因为没有它,图像将推入FeedVC (第二个选项卡),但第一个选项卡仍然会突出显示。 我用Unwind segue修正了这个问题,但是我注意到在select后,当我按下第一个选项卡(Intro VC)时,导航栏有一个返回button,而且我使用SelectVCbutton的次数越多推动图像,我不得不在IntroVC按回来。 我很困惑如何解决这个问题。 很明显,我没有正确地连接stream程,似乎IntroVC正在多次生成? 当我在Simulator中通过segues时,我在控制台中得到以下消息: Nested pop animation can result in corrupted navigation bar Finishing up a navigation transition in an unexpected state. Navigation Bar subview tree might get corrupted. 任何帮助将不胜感激! 下面的相关代码。 IntroVC.swift […]

如何通过多个视图展开而不显示中间视图

假设我们有三个视图控制器:1,2和3.使用故事板,从视图控制器3放松到使用放松轮廓来查看控制器1是相当简单的。 但是,放卷时,视图控制器2在视图控制器1显示之前短暂可见。 有没有办法从3到1而不显示2? 视图控制器1: – (void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; NSLog(@"one did appear"); } – (IBAction)goToTwo:(id)sender { NSLog(@"#### segue to two"); [self performSegueWithIdentifier:@"TwoSegue" sender:self]; } – (IBAction)unwindToOne:(UIStoryboardSegue *)sender { } 视图控制器2: – (void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; NSLog(@"two did appear"); } – (IBAction)goToThree:(id)sender { NSLog(@"#### segue to three"); [self performSegueWithIdentifier:@"ThreeSegue" sender:self]; } 视图控制器3: – (void)viewDidAppear:(BOOL)animated { [super […]

自定义Segueanimation

我正在尝试使用自定义的segue来执行一种缩放animation。 当转换执行时,sourceViewController变黑,然后变焦。 也尝试将pushViewController:设置到完成块中,但是根本不执行转换。 – (void)perform { UIViewController *sourceViewController = (UIViewController *) self.sourceViewController; UIViewController *destinationViewController = (UIViewController *) self.destinationViewController; [destinationViewController.view setTransform:CGAffineTransformMakeScale(0.5,0.5)]; [destinationViewController.view setAlpha:0.0]; [UIView animateWithDuration:0.5 delay:0.0 options:UIViewAnimationCurveEaseOut animations:^{ [destinationViewController.view setTransform:CGAffineTransformMakeScale(1.0,1.0)]; [destinationViewController.view setAlpha:1.0]; [sourceViewController.navigationController pushViewController:destinationViewController animated:NO]; } completion:^(BOOL finished){ }]; } 我做错了什么?

使用segues将UIViewControllerembedded到NavigationController中

我有一个viewController是通常 (最经常)通过使用push segue访问。 这个viewController需要被embedded到一个UINavigationController中。 所以通常情况下,这是没有问题的。 push seguepipe理viewController,因此viewController拥有它的UINavigationController。 我的问题是,在less数情况下,我想使用模态segue呈现相同的确切的viewController。 当我这样做的时候,viewController没有embedded到navigationController中。 有没有办法使用segues来做到这一点? 我知道这可以通过创build一个UINavigationController,将rootView设置为viewController,然后以模态方式呈现,完全在没有segues的代码中完成。 这可以使用这样的代码来完成: MyViewController *viewController = [[MyViewController alloc] init]; UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:viewController]; [self presentModalViewController:navController animated:YES]; 但是,我怎样才能做到这一点,但使用Segues? 更新 为了进一步的清晰,这里有一些代码来补充我在prepareForSegue方法中如何使用接受的答案。 当使用模态塞格 – (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { if ([[segue destinationViewController] isEqualToString:@"Modal to MyVC"]) { UINavigationController *nav = [segue destinationViewController]; MyViewController *vc = [nav topViewController]; //setup vc […]

在segue完成后如何执行一些代码?

是否有可能在iOS 6中知道UIStoryboardSegue完成其转换? 就像当我从UIButton添加一个UIStoryboardSegue来UIStoryboardSegue导航UIStoryboardSegue上的另一个UIViewController时,我想在push-transition完成之后立即执行某个操作。

在视图控制器之间传递variables

我正在使用这个function来切换Xcode 4.3中的视图。 [self performSegueWithIdentifier:@"NextView" sender:self]; 我想在页面之间传递一些参数。 我怎样才能做到这一点?

Xcode,在哪里分配segue标识符

请原谅我在Swift 2中的初学者问题。我知道我可以像这样切换到另一个屏幕(ViewController) self.performSegueWithIdentifier ("SecondViewController", sender: self) 但我似乎无法find哪里分配我的第二个屏幕的ID,我只是find故事板ID,是吗? 我已经尝试过,只收到与以下错误的崩溃: 'Receiver (<MyApps.RegViewController: 0x7fda5ae3abf0>) has no segue with identifier 'SecondViewController'' 任何想法? 谢谢

在Swift中在视图控制器之间传递数据

我想转换一个应用程序从Objective-C到Swift,但我找不到如何使用Swift在视图之间传递数据。 我的Objective-C代码是 UIStoryboard *storyBoard = [UIStoryboard storyboardWithName:@"Main" bundle:nil]; AnsViewController *ansViewController; ansViewController = [storyBoard instantiateViewControllerWithIdentifier:@"ansView"]; ansViewController.num = theNum; [self presentViewController:ansViewController animated:YES completion:nil]; 这样做基本上是把variables,theNum,并把它传递给variablesnum,在不同的视图控制器上。 我知道这可能是一个简单的问题,但我对Swift很困惑,所以如果有人可以解释他们是如何改变它的Swift,将不胜感激! 谢谢