Tag: uiviewcontroller

UIViewController presentViewController:animation:完成 – 需要4到6秒才能启动

我正在构build一个login模块,用户input的凭据在后端系统中进行validation。 我正在使用asynchronous调用来validation凭据,并且在用户通过身份validation之后,我使用presentViewController:animated:completion方法进入下一个屏幕presentViewController:animated:completion 。 问题是, presentViewController方法启动需要花费一些时间,直到出现下一个屏幕。 恐怕我先前调用sendAsynchronousRequest:request queue:queue completionHandler:会以某种方式产生副作用。 只是为了确保当我说4 – 6秒后,在命令presentViewController:animated:completion开始。 我说这是因为我正在debugging代码并监视调用方法的时刻。 首先:调用NSURLConnection方法: NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:10.0]; NSOperationQueue *queue = [[NSOperationQueue alloc] init]; [NSURLConnection sendAsynchronousRequest:request queue:queue completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) 第二: UIViewController方法被称为采取不正常的时间运行 UIViewController *firstViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"FirstView"]; [self presentViewController:firstViewController animated:YES completion:nil]; 任何帮助表示赞赏。 谢谢,马科斯。

closuresviewController后重新加载tableView

我有一个ViewController(VCA)与一个TableView里面。 从这个ViewController可以调用另一个ViewController(VCB)。 在第二个VC中,可能会向用于在VCA中填充TableView的plist添加一个项目。 问题是当我保存新项目并closuresVCB时,我无法重新加载VCA中的TableView。 我发现了很多例子: 你怎样才能重新加载视图控制器在Swift中解除模态表示的视图控制器? 在swift中调用dismissViewController之后如何调用reload table view? 如何在swift中从另一个视图控制器重新加载tableview 添加项目后更新TableViewController的数据 解散Popover后更新第一个视图 表视图没有得到更新后解散popover? 阅读后我试着用这个代码: **IN VCB** import UIKit protocol AddItemDelegateProtocol { func didAddItem() } class VCB: UIViewController { var delegate : AddItemDelegateProtocol? … } @IBAction func saveButton(_ sender: Any) { …. self.delegate?.didAddItem() dismiss(animated: true, completion: nil) } **In VCA** class VCA: UIViewController, UITableViewDelegate, UITableViewDataSource, AddItemDelegateProtocol […]

有没有可能使用iOS 7的UIViewController转换(具体交互)与子视图控制器?

有很多关于使用新的iOS 7 UIViewController转换API和伟大的新的交互式转换API的教程。 然而,尽pipe在自定义UIViewController的WWDC 2013video中,这些似乎都没有引用添加和删除子视图控制器。苹果员工显示了我所想象的是一个用自定义转换呈现的子视图控制器: (我假设这是一个视图控制器显示在另一个顶部看起来,我不认为你可以过渡到一个新的UIViewController,同时保持其他可见的后面…) 有没有可能通过子视图控制器来实现这样的事情? 在我的具体情况,我添加一个UIPageViewController图像库作为子视图控制器,但你仍然可以看到它被添加到视图控制器,如果图像UIPageViewController不占用全屏幕。 我还添加了将图像从屏幕上滑出的function(类似于iOS 7多任务closures),我很乐意将其作为交互式视图控制器popup窗口。 有没有任何教程这样的事情? 这甚至有可能吗? 这会更好地完成presentViewController不知何故,这将允许我查看下面的视图控制器?

isMovingToParentViewController总是为导航堆栈的根视图控制器返回FALSE?

什么是适当的方法来确定导航堆栈的根视图(顶层)控制器是否由于最初被呈现与被揭露而出现? iOS文档build议在viewWill / DidAppear中使用isMovingToParentViewController:做出这个决定。 这适用于在堆栈上推送的视图控制器,但是对于堆栈根视图控制器总是返回FALSE。 感谢您的帮助。

添加SKScene到UIViewController?

我刚刚在界面生成器中创build了一个新的UIViewController 。 它是从UITableViewController (单元格)segued。 我现在想在这个UIViewController里面使用SKScene 。 这是如何完成的? 而对于一个侧面说明… 如果SKScene占用了整个UIViewController.view ,那么你可以在场景上覆盖UIKit对象吗? 或者更好的是在UIViewController.view创build一个单独的UIView来保存SKScene ,然后围绕这个单独的UIView布局UIKit对象,并让默认的UIViewController.view作为所有这些元素的容器? 如果采取这种方法,理论上可以通过SKScene访问这些UIKit对象吗?

UIView内的UIButton Target Action

我有一个自定义的UIView我在其中创build了一个UIButton 。 在这个视图里面,我有这样的代码: func setupViews() { menuControlButton.addTarget(self, action: "toggleButton:", forControlEvents: .TouchUpInside) } func toggleButton(sender: MenuControlButton!) { let isActive = sender.toggleActive() // switches button image and returns whether active or not after NSUserDefaults.standardUserDefaults().setBool(isActive, forKey: sender.title) someOtherViewController.reloadCalendar() } 这是一个不好的做法吗? 特别是因为我通过自定义UIView调用另一个控制器的function。 我应该这样做,所以这些方法在ViewController? 还是有更好的方法来做到这一点?

StoreKit的SKStoreProductViewController离开导航栏和视图之间的空间?

我有这个UIViewController的子类,它显示了一个SKStoreProductViewController 。 这个视图控制器最初是为iOS 5创build的,并没有使用自动布局。 我的问题是,当提供SKStoreProductViewController时,导航栏和实际内容之间有一个空格…如果您滚动视图,分段控件(详细信息/评论/相关)浮动在导航栏下方(请参阅下面的图像,我添加了一个面具的图像,使问题更加明显)。 由于我们无法访问所呈现的视图控制器,我猜测它与呈现SKStoreProductViewController的控制器SKStoreProductViewController 。 当用户点击显示控制器的button时,我试图改变/移动视图的框架,我也做了一些像self.navigationController.navigationBar.translucent = NO; 但似乎没有任何帮助。 有没有人有类似的问题? 任何想法如何解决它?

试图展示正在进行中的UIViewController! – 警告

假设一个新的iOS项目,只需要一个导航控制器(正确连线为入口点)和覆盖viewDidAppear()包含以下三行代码: self.presentViewController(UIViewController(), animated: true, completion: nil) self.dismissViewControllerAnimated(true, completion: {}) self.presentViewController(UIViewController(), animated: true, completion: nil) 执行时,该代码将引发一个警告:“尝试在演示文稿正在进行时呈现UIViewController!” 当试图呈现第二个控制器时。 问题:为了在调用另一个控制器之前正确地closures控制器,我到底错过了什么?

如何设置不隐藏工具栏的部分curl模式?

在iPhone上的Google地图应用程序中,在执行部分curl转换的模式之后,buttom中的工具栏仍然可见。 当我使用局部curl在故事板中设置模态序列时,新的视图控制器将隐藏工具栏视图。 如何设置像Google地图应用程序一样的部分curl?

在视图控制器中添加一个Spark粒子精灵

我创build了一个基于spark模板的.sks粒子发射器。 我的应用程序是一个普通的应用程序(不是游戏)。 当用户点击一个button时,我有一个新的视图控制器, over fullscreen显示over fullscreen以便我可以模糊背景。 在这个模式中,我创build了一个view并给了它一个SCNView的类见下图: 如何加载粒子.sks文件在Particles视图上的viewController上执行animation? 更新如何在视图控制器中加载SceneKit粒子系统?