Tag: uistoryboardsegue

在Xcode 6中显示segue将视图控制器作为iOS 7中的一个模式呈现

我有两个视图控制器在我的iPhone应用程序(用swift构build)与Xcode 6.1构build,并使用故事板。 第一个视图控制器embedded在故事板中的导航控制器中,第二个视图控制器的segue是“显示”segue。 当应用程序运行时,它正确地显示了在iOS 8.x中的推送,但在iOS 7.x中,它显示为没有导航栏的模式。 我的应用程序的要求是显示过渡作为一个推动,无论是iOS 7或iOS 8.任何想法,以推动这两个版本的iOS工作? 我看到一个提到这个问题的相关文章,但是找不到解决这个问题的方法: 在storyboard Xcode 6中的自适应segue。是不推荐使用的吗? 任何帮助表示赞赏… 谢谢

在没有Segues的Storyboard之间传递variables – Swift

我在Xcode中的两个不同的.storyboard文件中的两个不同的UIViewControllers之间传递数据。 (这是一个相当大的项目,所以我不得不把它分解成不同的故事板。) 我已经在视图中build立了“exercisePassed”variables(string),我想将数据传递给我,并且我已经知道如何在位于不同故事板中的两个视图之间移动。 像这样。 var storyboard = UIStoryboard(name: "IDEInterface", bundle: nil) var controller = storyboard.instantiateViewControllerWithIdentifier("IDENavController") as! UIViewController //************************************** var ex = //Stuck Here ex.exercisedPassed = "Ex1" //************************************** self.presentViewController(controller, animated: true, completion: nil) 如何在不使用Segue / PrepareForSegue的情况下传递数据?

使buttonUIAlertView执行塞格

我为一个动作创build了一个UIAlertView ,给了我两个选项。 我希望用户能够点击一个button,并执行Segue。 这是我迄今为止的代码: – (IBAction)switchView:(id)sender { UIAlertView *myAlert = [[UIAlertView alloc] initWithTitle:@"Please Note" message:@"Hello this is my message" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:@"Option 1", @"Option 2", nil]; [myAlert show]; } – (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex { NSString *buttonTitle = [alertView buttonTitleAtIndex:buttonIndex]; if ([buttonTitle isEqualToString:@"Option 1"]) { } }

在显示新视图之前,iOS会冻结很多秒

在我的应用程序的主视图中,我有一个表视图和两个原型单元格。 我已经使用故事板为每个单元configuration了segues。 在视图控制器中,我将覆盖prepareForSegue将所选单元格上的信息传递到目标视图。 目标视图不是特别复杂,当然也不需要任何繁重的处理来加载。 问题 当我第一次点击主控制器上的一个单元时,目标视图会在5到40秒的长时间延迟后出现。 编辑#2 :后来的水龙头通常更快 注意: 如果在目标视图出现之前再次敲击同一个单元格,则会触发目标视图立即出现。 如上所述,但点击不同的单元格会导致视图立即显示,但会显示来自第一个单元格的数据。 如上所述,但是点击不同的控件(没有关联的段落)会触发目标视图立即出现。 随后的“点击”通常显示较less的延迟。 时间分析器 – 为了我所能看到的 – 显示在这么多秒的延迟期间绝对没有发生任何事情。 我尝试过不同types的赛车,但没有什么区别 一些println显示,发生以下一系列事件: 在主要观点中,prepareForSegue被执行(没有延迟) 那么目标viewDidLoad被执行(没有延迟) …很长时间… 目的地控制器中的集合和表视图开始调用数据源相关的方法来从控制器获取数据。 该视图终于出现(带有不需要的animation,顺便说一句,但这是一个不同的问题) 从我读过的这个话题中,我怀疑这个问题可能与后台线程中发生的一些上述操作有关。 任何想法我可能做错了什么? 编辑#1 :添加了一些代码 在主视图控制器中,使用故事板链接了链接(CTRL-将两个原型单元格拖到目标视图中)。 代码看起来有点像下面这样: override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { var assetIndex = assetsTable.indexPathForSelectedRow()?.row println("prepare for segue – start: \(assets[assetIds[assetIndex!]]!.Name)") if let destination = segue.destinationViewController as? AssetThingsListViewController […]

推到另一个视图控制器没有prepareForSegue

如何在没有prepareForSegue情况下推送到另一个视图控制器? myClassVC *viewController = [myClassVC alloc]; UIStoryboardSegue *segue = [[UIStoryboardSegue alloc] initWithIdentifier:@"pushToMyVC" source:self destination:viewController]; if ([segue.identifier isEqualToString:@"pushToMyVC"]) { NSLog(@"logging"); myClassVC *viewController = (myClassVC *)[segue destinationViewController]; [self presentViewController:viewController animated:YES completion:nil]; }

获取对容器视图的引用

我是iOS App开发新手。 我已经连接了一个tableview控制器,当我select其中一个行,我得到另一个使用didSelectRowAtIndexPath的UIViewController。 我有一个容器视图里面这个UIViewController显示(说暂时)didSelectRowAtIndexPath被调用的行的索引。 我想用segue做这个,但问题是我不知道如何获得对使用容器视graphics成的视图控制器的引用。 我知道你可以使用prepareForSegue中的segue.destinationViewController来获取目标视图控制器,但是如何获取将由于容器视图而被加载的视图控制器的引用。 我正在构buildiOS 6的应用程序。我也使用了故事板的UI。 谢谢 编辑: 这个问题基本上归结为如何获得对UIViewController-1内部的UIContainerView所指向的UIViewController-2的引用。 UIViewController-1是通过select一行UITableViewController触发的 UITableViewController(select一行给)—> UIViewController-1其中包含…. ContainerView —> UIViewController-2(ViewController与ContainerView关联)。

如何获取一个自定义表格视图单元格的索引path,当它的UIImage被UITapGestureRecognizer在prepareForSegue

确定标题中的很多variables,对不起,我不能再简单一些。 首先,我有一个自定义表格单元格,像这样的描述 现在,当用户点击单元格本身时,它将转到视图A,但是,有一个UITapGestureRecognizer连接到左侧的UIImage,它连接到一个继续到视图B. 一切正常,但我需要一些数据,这是在表视图单元格内,我可以传递到视图B,所以它可以做一些东西一旦显示视图。 override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { if(segue.identifier == "toViewA") { }else if( segue.identifier == "toViewBFromThatImage" ){ let viewBVC = ( segue.destinationViewController as! viewBVC ) ///////sender is UITapGestureRecognizer ///////somehow want to get indexpath here viewBVC.selectedIndex = SOMEHOW DIRREVED INDEXPATH } } 也许我应该设置一些东西作为UIImage的标签或手势对象初始化时? 还是应该避免在prepareForSegue中做这个呢? 还是新的这个,所以任何意见,不胜感激。

将数据传递给Tabbar控制器

我有一个故事板项目,我想从视图中传递一些数据到一个标签栏控制器,信息将分散在标签之间。 在做了一些研究之后,我发现了一个非常类似的问题: iOS故事板传递数据navigationViewController,但这个解决scheme的唯一问题是它没有传输到标签栏控制器。 我想知道我是否必须将数据传递给每个选项卡,或者我可以将它传递给标签栏控制器,然后从那里传播? 提前谢谢你的帮助! 我目前正在使用以下; 但是,我得到一个错误: – (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { if ([segue.identifier isEqualToString:@"FoodPage"]) { NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow]; UINavigationController *nav = [segue destinationViewController]; FoodViewController *destViewController = (FoodViewController*) nav.topViewController; destViewController.Foods = [foodArray objectAtIndex:indexPath.row]; } }

自定义Push Segue删除故事板中的导航栏和标签栏

我在定义Segue中定义了以下内容,让我们把它称为SegueX: @interface SegueX : UIStoryboardSegue @end @implementation SegueX – (void)perform { CATransition* transition = [CATransition animation]; transition.duration = 0.3; transition.type = kCATransitionFade; [[self.sourceViewController navigationController].view.layer addAnimation:transition forKey:kCATransition]; [[self.sourceViewController navigationController] pushViewController:[self destinationViewController] animated:NO]; } @end 在我的故事板中,我刚刚将一个标准的Push segue改成了SegueX。 出于某种原因,这将删除我的导航栏和标签栏。 而且,在定制的segue之后,在故事板中定义的所有UIBarButtonItems都在运行时隐藏。 我该如何解决? 我希望它不是这样的… 在更改为自定义赛格之前 改成自定义赛格后 保存到Main.storyboard <?xml version="1.0" encoding="UTF-8" standalone="no"?> <document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="4514" systemVersion="13A603" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" initialViewController="aUj-3O-DdX"> […]

在Swift中从UITableViewCell中将Segue推到ViewController

我遇到了我的UITableViewCells的问题。 我连接我的UITableView到一个API来填充我的单元格。 然后我创build了一个抓取indexPath.row的函数来确定应该发送到RestaurantViewController的数组内的哪个JSON对象。 链接到我的Xcode项目,更容易debugging和解决问题 以下是我的小片段将“行 – 点击”设置为全局variables的方式。 func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) { i = indexPath.row } 这里是我的prepareForSegue()函数,它应该将我的push-segue连接到RestaurantViewController 。 override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) { if segue.identifier == "toRestaurant"{ let navigationController = segue.destinationViewController as UINavigationController let vc = navigationController.topViewController as RestaurantViewController vc.data = currentResponse[i] as NSArray } } 这里是我如何从UITableViewCell设置我的segue 这是我的结果,我试图点击这些单元格中的每一个,但我不会推到另一个viewController …我也没有得到一个错误。 这里有什么问题? 试过的解决scheme,将无法正常工作 […]