Tag: viewcontroller

ios:如何解除模式视图控制器,然后popup推视图控制器

我有一个视图控制器B,通过根视图控制器A被推入到导航堆栈中,并且如果视图控制器B的模型处于特定状态,则该视图控制器B需要显示备选视图,以便在模态上呈现另一个视图控制器C.当我解雇视图控制器CI也想popup视图控制器B,如果这也是在导航堆栈上。 我想这样做只有一个过渡。 有任何想法吗?

将数据从视图控制器传递到iOS中的标签栏控制器

我正在开发一个iOS应用程序,现在我不知所措。 我试图将数据从第一个视图控制器传递到TabBarViewController的第一个选项卡(使用故事板)。 我发现很多教程解释如何在视图控制器之间传递数据,但没有任何工作与我的标签栏。 我知道标签栏控制器包含一种视图数组。 视图控制器和标签栏控制器之间的关系是通过一个segue(push)来实现的。 所以,我认为使用prepareForSegue()方法很容易。 像那样: – (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{ if ([[segue identifier] isEqualToString:@"tab"]) { // … } } 不幸的是,标签栏控制器和每个标签栏视图之间的关系是不真实的。 这只是一个“关系”。 这意味着,我没有能够使用上述方法的segue标识符。 在这种情况下是否有可能使用prepareForSegue? 如果没有,任何想法如何解决这个问题? 我知道有一个类似的问题,但答案并不是那么有用。 是否必须为选项卡栏控制器中的每个选项卡(视图)创build一个新文件? 或者是有可能有一个类(m。&h。)为整个标签栏控制器访问多个视图与objectAtIndex()? 提前致谢!

同时closures多个视图控制器

我正在使用SpriteKit进行游戏。 我有3个viewControllers:select级别VC,游戏VC,赢得VC。 游戏结束后,我想显示赢得VC,然后如果我按胜利VC上的确定button,我想解雇WIN VC和游戏VC(popup两个视图控制器出栈)。 但我不知道该怎么做,因为如果我打电话 self.dismissViewControllerAnimated(true, completion: {}) win vc(堆栈顶部)被解雇了,所以我不知道在哪里再打电话来解雇游戏vc。 有什么办法可以解决这个问题,而不使用导航控制器? 这是第一个VC:(请注意以下以“//”开头的评论) class SelectLevelViewController: UIViewController { // I implemented a UIButton on its storyboard, and its segue shows GameViewController override func viewDidLoad() { super.viewDidLoad() } } 这是第二个VC: class GameViewController: UIViewController, UIPopoverPresentationControllerDelegate { var scene: GameScene! var stage: Stage! var startTime = NSTimeInterval() var timer = […]

获取用storyboard创build的viewcontroller的属性

我目前正在快速学习,并且正在尝试从故事板作品中学习实例,但是现在我面对的错误并没有太多logging。 我在我的主要故事板中创build了一个viewcontroller,我将它指定为一个我以前称为SimpleNewsViewController的自定义类,这里是我的类的代码,它并不复杂: class SimpleNewsViewController: UIViewController { @IBOutlet weak var myImage: UIImageView! @IBOutlet weak var myLabel: UILabel! @IBOutlet weak var myText: UITextView! var event: Events! override func viewDidLoad() { super.viewDidLoad() } } 在我的主要故事板上是我指定的自定义ViewController: 我的故事板实现 现在,这里的问题是:在我的代码我instanciate我的ViewController得益于instanciateViewController(标识符:“NewsView”),然后我尝试设置我的3个属性,如在这段代码: … let storyboard = UIStoryboard(name: "Main", bundle: nil) let controller = storyboard.instantiateViewController(withIdentifier: "NewsView") as! SimpleNewsViewController //controller.myImage.image = UIImage(named: "image.jpg") //controller.myText.text = […]

恢复ViewController状态的最好方法是什么?

我想问一些关于如何恢复viewControllers状态的build议。 就像在名为“Pic Collage”的应用程序中创build卡片并保存并稍后恢复一样。

在Swift中的一个ViewController视图之间传递数据

我所做的所有search都集中在视图控制器之间传递数据。 这不是我想要做的。 我有一个ViewController有多个视图。 ViewController有一个工作正常的滑块: var throttleSetting = Float() @IBAction func changeThrottleSetting(sender: UISlider) { throttleSetting = sender.value } 然后,在同一个ViewController中包含的一个视图中,我有一个基本的线(现在)设置一个初始值,稍后在代码的DrawRect部分使用: var RPMPointerAngle: CGFloat { var angle: CGFloat = 2.0 return angle } 我想要做的是从ViewController的滑块的值传递给ViewController中包含的视图,以允许drawRect是dynamic的。 谢谢你的帮助!

iOS Swift,返回到视图控制器的同一个实例

我有一个问题,我有两个视图控制器A和B.视图控制器B有一个地图,其上有一个路线绘制。 我可以在这两个视图控制器之间前后移动,但是B视图控制器在每次加载时都会重置。 我认为这是因为我正在使用segues,并且每次都创build一个View控制器的新实例。 我已经尝试使用下面的代码来解决这个问题,但它仍然无法正常工作。 视图加载正确,但视图控制器B仍然被重置 @IBAction func mapButton(sender: AnyObject){ let storyboard = UIStoryboard(name: "MainStoryboard", bundle: nil) let vc = storyboard.instantiateViewControllerWithIdentifier("SecondViewController") as! UIViewController self.presentViewController(vc, animated: true, completion: nil) } 我在做什么错,我该如何解决? 我想让视图控制器B随着地图和路线一起留在内存中,所以当用户返回时他不必再input所有的信息。

如何从Sprite Kit场景引用当前的ViewController

我很难find我想这个问题的答案并不难。 我怎样才能引用SKScene的视图控制器上定义的方法和属性? 并在此基础上:如何引用从另一个SKScene中加载的SKScene中的ViewController?

使用轻扫手势切换视图控制器

好吧,这是我遇到的问题: 我试图从一个viewController ,我命名MenuViewController其中包含我的菜单(显然)切换。 我有一个名为ViewController的单独的viewController ,它包含我的mapView 。 我希望能够从我的MenuViewController swipe left指滑过我的mapView 。 我不确定从哪里开始。 另外,我正在使用xib文件,而不是故事板。 运行iOS 6

将从AppDelegate的推送通知接收到的数据传递给ViewController

在我的应用程序中,有一个集合视图,显示从Web服务检索到的一组图像。 每个图像都有标签。 所以应用程序也有能力使用标签过滤图像。 现在我试图添加推送通知到这个应用程序。 将新图像添加到服务器时,会发送推送通知。 这些图像被标记为最新的 。 我通过推送通知传递该标记作为消息,我需要的是当用户点击推送通知打开应用程序,它应该加载最新的新图像集合视图。 我完成了一半。 我收到消息成功的推送通知到AppDelegate.m文件中的AppDelegate.m方法。 现在我需要将它传递到集合视图所在的视图控制器。 我被困在这一点上。 我不知道如何将其发送到视图控制器。 我试着在App委托中声明一个属性,给它分配消息值,并从视图控制器中引用它,但是它不起作用。 我绑定代表,通知中心,用户默认,但没有任何工作。 任何人都可以请告诉我如何做到这一点? 谢谢。 编辑: 这是我的代码。 我尝试的最后一个方法是本地通知。 AppDelegate.m – (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo { [[NSNotificationCenter defaultCenter] postNotificationName:@"PushNotificationMessageReceivedNotification" object:nil userInfo:userInfo]; } ViewController.m – (void)viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(remoteNotificationReceived:) name:@"PushNotificationMessageReceivedNotification" object:nil]; } – (void)remoteNotificationReceived:(NSNotification *)notification { NSLog(@"Notification: %@", notification.userInfo); NSString *msg […]