Tag: uiviewcontroller

从应用程序委托使用swift打开视图控制器

我正在尝试创build一个推送通知,根据从推送中获得的信息确定要打开哪个视图。 我已经设法从推动中获得信息,但我现在正在努力争取开放的观点 看看其他堆栈溢出问题我目前有以下几点: 应用程序委托完成加载: //Extract the notification data if let notificationPayload = launchOptions?[UIApplicationLaunchOptionsRemoteNotificationKey] as? NSDictionary { // Get which page to open let viewload = notificationPayload["view"] as? NSString let storyBoard : UIStoryboard = UIStoryboard(name: "Main", bundle:nil) //Load correct view if viewload == "circles" { var viewController = self.window?.rootViewController?.storyboard?.instantiateViewControllerWithIdentifier("Circles") as! UIViewController self.window?.rootViewController = viewController } } […]

Swift – 使用NSUserDefaults保存高分

我正在用Swift做游戏。 我想用NSUserDefaults保存用户高分。 我知道如何在我的AppDelegate文件中创build一个新的NSUserDefaultsvariables: let highscore: NSUserDefaults = NSUserDefaults.standardUserDefaults() 但是,我如何设置/得到这个在我的视图控制器?

在滚动UIScrollView期间停止UILabel更新

我有一个scrollView与imageView里面。 scrollView是superView的子视图,而imageView是scrollView的子scrollView 。 我也有一个标签(在超级视图级别),每毫秒从NSTimer接收文本属性的更新值。 问题是:在滚动期间,标签停止显示更新。 当滚动结束时,标签上的更新重新开始。 当更新重新启动它们是正确的; 这意味着label.text值按预期更新,但在滚动时,更新显示会在某处被覆盖。 不pipe是否滚动,我都想在标签上显示更新。 以下是如何实现标签更新: – (void)startElapsedTimeTimer { [self setStartTime:CFAbsoluteTimeGetCurrent()]; NSTimer *elapsedTimeTimer = [NSTimer scheduledTimerWithTimeInterval:0.001 target:self selector:@selector(updateElapsedTimeLabel) repeats:YES]; } – (void)updateElapsedTimeLabel { CFTimeInterval currentTime = CFAbsoluteTimeGetCurrent(); float theTime = currentTime – startTime; elapsedTimeLabel.text = [NSString stringWithFormat:@"%1.2f sec.", theTime]; } 谢谢你的帮助。

使一个button在所有视图控制器中保持不变

我想在我的应用程序的右下angular有一个持久button。 在所有视图转换期间,button应保持静态。 我无法决定添加button的视图。 我知道这个button应该存储在AppDelegate中,但是我不知道将其他视图添加到除窗口之外是否合适。 将其添加到窗口的一个缺点是,当有一个应用程序在后台运行(即电话),添加的状态栏填充将按下窗口。 一般来说,将它添加到窗口似乎是一个hacky的解决scheme – 任何想法?

呈现和解除模态视图控制器

任何人都可以给我的示例代码,我可以用来首先提出一个模式的视图控制器,然后解雇它? 这是我一直在尝试的: NSLog(@“%@”,blue.modalViewController); [蓝色presentModalViewController:红色animation:是]; NSLog(@“%@”,blue.modalViewController); [blue dismissModalViewControllerAnimated:YES]; NSLog(@“%@”,blue.modalViewController); 这段代码在viewDidLoad中(“blue”和“red”都是UIViewController的子类)。 我希望我会显示红色的视图,然后立即隐藏它,用一些animation。 然而,这段代码只提供了模态视图,并没有消除它。 任何想法? 第一个日志显示“空”,而另外两个日志显示<RedViewController:0x3d21bf0> 另一点是,如果我把这个代码放在applicationDidFinishLaunching中:红色的视图根本不会出现,所有的日志都会变成“null”

在iPhone中将UIViewController显示为Popup

由于对这个常见问题没有完整的,明确的答案,我会在这里提出并回答。 通常我们需要提供一个UIViewController ,它不能覆盖整个屏幕,如下图所示。 苹果提供了几个类似的UIViewController ,比如UIAlertView ,Twitter或者Facebook共享视图控制器等等。 我们如何才能达到这个自定义控制器的效果?

使用Segue在视图控制器之间传递数据

我是iOS新手。 我面临着在ViewControllers之间传递数据的问题。 我有三个viewController(view_1,view_2和view_3)。 在这里我的设置: – selectview_1 推view_2 推view_3 我想发送'view_1'的ViewController引用(id)到'view_3'。 所以我包括include "view_3" ,并将值设置为“view_3”的variables(使用view_3 *v3=[[view_3 alloc] init ]; v3.reference=self; )。 在控制台中显示: 视图控制器: – ; <ViewController:0x89e9540> 在“view_1”中,而在“view_3”中,在控制台中显示 视图控制器(null) 但是,当我使用'view_2'传递这个数据的工作。 但是,如何? 我想知道这种行为,有没有解决scheme来创build这个? 请帮忙。

从视图控制器Xcode传回数据

几个星期前,我问了这个问题,得到了一个非常详细的解释。 现在我想传回数据到第一个ViewController,但我一直使用相同的方法卡住。 我有一个第一个VC的模式,第二个,我想编辑一个string数组,将再次显示在第一个视图。 所以在我的第一个视图中,我有一个数据的数组,应该传递给第二个,所以编辑字段显示当前的信息之后,用户必须能够编辑数组的内容并将数据传回第一个它显示在标签上。 我正在使用Swift。 我的代码: (在ViewController.swift 🙂 override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!) { let secondVC = segue.destinationViewController as SecondViewController secondVC.namesPlayers = self.namesPlayers } (在SecondViewController.swift 🙂 override func viewDidLoad() { super.viewDidLoad() labelFirstPlayer.text = namenSpelers[0] } 谢谢

如何使应用程序完全正确工作在iOS 6自动旋转?

在iOS6中,不推荐使用shouldAutorotateToInterfaceOrientation。 我试图使用supportedInterfaceOrientations和shouldAutorotate使应用程序正常自动旋转,但失败。 这个ViewController我不想旋转,但它不工作。 – (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { return (interfaceOrientation == UIInterfaceOrientationPortrait); } -(BOOL)shouldAutorotate { return NO; } -(NSUInteger)supportedInterfaceOrientations { return UIInterfaceOrientationMaskPortrait; } 有任何想法吗? 提前感谢您的帮助!

在iOS6中,在推入堆栈时遇到问题,强制ViewController到某个interfaceOrientation

我有以下视图控制器设置: viewController1能够自由旋转到任何方向,除了画像颠倒。 viewController2被推到viewController1之上,我想它是相同的方向viewController1是,我想它不能够旋转。 viewController3被推到viewController2之上。 我想让viewController3处于肖像模式。 我有很多问题试图在iOS6中完成这一点(还没有在iOS5中尝试过)。 首先,我已经创build了自己的导航控制器,并在其中添加以下内容: – (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation { return [self.topViewController preferredInterfaceOrientationForPresentation]; } – (NSUInteger)supportedInterfaceOrientations { return [self.topViewController supportedInterfaceOrientations]; } – (BOOL) shouldAutorotate { return [self.topViewController shouldAutorotate]; } 我已经尝试了很多不同的组合这些东西知道利用。 主要是我奋斗的地方是强迫vc3被呈现为肖像,如果vc2在风景。 任何帮助,将不胜感激。