Tag: segue

如何在多个UIViewControllers之间共享一个故事板场景

我完全重新制定了这个问题,得知我本来是偏离了轨道,但是我没有接近解决问题。 参照这个图像… 我想要在代码中创build或操作segue(以黄色突出显示),这样Master视图就是MFMasterViewController的多个子类中的任何一个(以红色突出显示)。 当使用Nibs这样做时,我可以创build一个Nib, SharedNib.xib并将该类设置为MFMasterViewController ,然后创build我的子类,比如说MFMasterViewControllerSubclassA , MFMasterViewControllerSubclassB等等,然后实例化任何我想使用的子类。 MFMasterViewControllerSubclassA *controller = [[MFMasterViewControllerSubclassA alloc] initWithNibName:@"SharedNib" bundle:nil]; 要么… MFMasterViewControllerSubclassB *controller = [[MFMasterViewControllerSubclassB alloc] initWithNibName:@"SharedNib" bundle:nil]; 等等 任何线索,如何我可以使用故事板得到这个权利? 在我的情况下,想要做到这一点的原因是,我所有的子类是相同的tableview和数据,但sorting不同,并在写入到cels的细节文本的东西有一些不同。 我怀疑这是一个不常见的模式。 干杯和TIA,佩德罗:)

使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 […]

在Swift中,从导航后退button中取消切入

我有一个设置屏幕,我有一个表格单元格。 通过点击该button,我可以进入另一个用户可以select一个选项的屏幕,并且当按下返回button时,我需要将其返回到先前的视图控制器中。 我可以放置一个自定义栏button项目,但是我想使用导航栏中的后退button而不是视图上的自定义button返回到父视图控制器。 我似乎无法重写导航后退button将其指向我的unwind segue动作,因为后退button不出现在故事​​板上,我不能将绿色的退出button拖到它 是否可以用后退button展开推入?

视图控制器之间使用segue传递variables

我使用Swift和Xcode 6,并想使用Segue从一个View Controller传递一个variables到另一个。 我创build了一个名为“MainToTimer”的segue,一旦按下button就会触发它。 我希望能够在第二个视图控制器上使用名为“持续时间”的variables。 是否有可能传递多个variables和常量? 我需要哪些代码与每个View Controller关联? 先谢谢你。

如何在'didSelectRowAtIndexPath'中访问segue – Swift / IOS

我知道如何使用prepareForSegue函数中的segues来传递数据,但是我有一个TableViewCell,从两个不同的ViewController有两个可能的Segges(现在我们只是说A,B)。 在这里build议最好将Segges连接到View控制器,而不是tableCell本身,这实际上是完美的。 但是我想传递信息到第二个视图控制器单元格单击时,所以如何访问我连接到Source ViewController的Segue。 码: 里面prepareForSegue if segue.identifier == "showQuestionnaire"{ if let indexPath = self.tableView.indexPathForSelectedRow() { let controller = (segue.destinationViewController as! UINavigationController).topViewController as! QuestionnaireController let patientQuestionnaire = patientQuestionnaires[indexPath.row] as! PatientQuestionnaire controller.selectedQuestionnaire = patientQuestionnaire self.performSegueWithIdentifier("showQuestionnaire", sender: self) } } 再一次:这个问题不是关于通过prepareForSegue传递信息

将数据从模态传递给父项

我想从模态传递数据(例如设置var)到父母,我该怎么做? 我正在使用该代码退出模态segue: @IBAction func doneClicked(sender: AnyObject) { self.dismissViewControllerAnimated(true, completion: nil) } 我不能在这里使用segue.destinationViewController来传递数据,因为我曾经在push segues上做过。

获取对容器视图的引用

我是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关联)。

如何使用performSegueWithIdentifier:发件人:?

我是一个新的iOS开发人员,我目前正在为iPhone构build一个游戏,并且正在将它写入Objective-C。 这个问题可能会很容易回答,但我无法在其他地方find它。 我在这个应用程序中使用故事板,当用户按下一个button去下一个故事板时,我正在使用它们,但是当这个时候需要自动发生时,我完全难以理解如何实现这个function。 我想在应用程序启动时出现约五秒钟的徽标,然后出现主菜单。 我试图使用performSegueWithIdentifier:发件人:实现这一点,但是我浏览了苹果的文档,它并没有真正回答我的问题如何使用这种方法。 我知道这个方法用于什么,只是没有什么代码我需要键入正确使用它。 另外,如果我正在使用完全错误的方法,或者有一个更简单的方法来实现我想要做的事情,那将是非常感激的。 任何帮助是有用的。 提前致谢

ios在一个segue中将值传递给另一个视图

试图做我见过的很多地方logging的东西,但似乎无法pipe理。 我试图在一个segue期间将数据从一个视图传递到另一个视图。 以下是源视图中的prepareForSegue方法: – (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { //pass values DetailViewController *dest = (DetailViewController *)[segue destinationViewController]; dest.locTitle = [value valueForKeyPath:@"title"]; dest.locInfo = [value valueForKeyPath:@"info"]; // NSLog(@"The title is: %@, and the info is: %@.",dest.locTitle,dest.locInfo); } 如果我启用最后的NSLog ,我看到正确的值… 以下是目标视图上的界面: #import <UIKit/UIKit.h> @interface DetailViewController : UIViewController{ } @property (strong, nonatomic) NSString *locTitle; @property (strong, nonatomic) NSString […]