Tag: uiviewcontroller

UIViewControlleranimation停止工作

我的应用程序在iOS6中运行良好,但是在未指定的即将发布的iOS版本中,由于NDA的原因,我无法命名,所有UIViewController转换animation都停止工作。 新视图即时popup到位。 我不知道这个未指定的iOS版本是否是原因,因为我偶尔在iOS6中看到过这种情况。 有时animation开始工作一段时间,然后停止,使我觉得这是某种内存警告问题,但我的应用程序在大多数时间使用一个相当合理的〜125MB的RAM。 任何人都可以提供任何意见或事情来调查?

UIViewController – 问题与自定义解散转换

概要 我有一个内容UIViewController提供了一个设置UIViewController使用自定义转换。 演示文稿是presentViewController:animated:completion: 当我后来用dismissViewControllerAnimated:completion:closures设置时,呈现控制器在设置控制器呈现之前突然跳回到它的初始位置。 我有一个解决这个在设备上,但不是模拟器。 但是,我想知道我在做什么错,而不是在一个让它消失的闪光。 我也打算让这个animation互动,我怀疑这个问题会放大。 自定义过渡 – 打开引擎盖 期望的效果是呈现控制器沿着屏幕向下滑动,并且看到所呈现的控制器从其抬起以填满屏幕的位置处在它后面。 呈现控制器的顶部在所呈现的控制器的使用寿命期间保持在屏幕上。 它停留在屏幕的底部,但在所呈现的控制器之上 。 您可以想象,将汽车上的发动机罩(前部控制器)抬起,可以看到后面的发动机(所显示的设置),但发动机罩在底部保持可见状态。 我打算改进这一点,以便呈现控制器真的能以3D的方式提升视angular,但是我还没有那么远。 当设置被解除时,原来的提示控制器(阀盖)应该滑回屏幕,并且所呈现的控制器(设置)稍微后退(closures阀盖)。 码 这是在屏幕上和屏幕之间切换设置的方法(它只是由UIButton调用)。 您会注意到呈现视图控制器将自己设置为<UIViewControllerTransitioningDelegate> 。 -(void) toggleSettingsViewController { const BOOL settingsAreShowing = [self presentedViewController] != nil; if(!settingsAreShowing) { UIViewController *const settingsController = [[self storyboard] instantiateViewControllerWithIdentifier: @"STSettingsViewController"]; [settingsController setTransitioningDelegate: self]; [settingsController setModalPresentationStyle: UIModalPresentationCustom]; [self presentViewController: settingsController animated: YES completion: nil]; […]

UIViewController不保留其编程创build的UISearchDisplayController

在关于searchDisplayController属性1的UIViewController 文档中 ,它说: 如果以编程方式创buildsearch显示控制器,则该属性在初始化时由search显示控制器自动设置。 而当我创build我的UISearchDisplayController如此: [[[UISearchDisplayController alloc] initWithSearchBar:searchBar contentsController:self] autorelease]; -[UIViewController searchDisplayController]不是nil 。 但是,在事件循环结束之后,会导致search显示控制器在search栏内不显示。 没有崩溃。 这很奇怪。 如果我省略了autorelease的调用,一切正常: [[UISearchDisplayController alloc] initWithSearchBar:searchBar contentsController:self]; 但是,泄漏UISearchDisplayController (我用仪器validation了这一点)。 由于searchDisplayController 属性被标记为(nonatomic, retain, readonly)我期望它会保留设置后的UISearchDisplayController 。 这个计算器文章是相关的。

我怎样才能比较viewDidLoad viewDidAppear?

我怎样才能比较viewDidLoad和viewDidAppear:

如何从View Controller中获取UIView的大小?

在UIViewController的viewDidLoad方法里面: NSLog(@"frame: %f %f", self.view.frame.size.width, self.view.frame.size.height); 随着横向设备: frame: 748.000000 1024.000000 纵向设备: frame: 768.000000 1004.000000

如何在SWIFT中从UIView实例化ViewController

我想从我的UiView初始化视图控制器。 但我在线self.presentViewController错误(vc,animated:true,completion:nil)。 我试图显示另一个视图控制器后点击一个表行。 我已经初始化故事板。 import UIKit class CustomSwipeOut: UIView , UITableViewDataSource , UITableViewDelegate { var label: UILabel = UILabel() var myNames = ["item1","item2","item3"] override init(frame: CGRect) { super.init(frame: frame) self.addCustomView() } required init(coder aDecoder: NSCoder) { fatalError("init(coder:) has not been implemented") } func addCustomView() { //add blank subview to the view var blankView : UIView […]

如果用户通过Facebooklogin,如何以编程方式启动到另一个viewController

基本上我有一个名为facebookLogin.swift的类,login页面和ViewController.Swift的主页。 我已经正确编码所有的Facebooklogin的东西,它的一切工作,我可以login和注销FBSDK提供的button以及我定义的自定义button。 但是,我不知道如何进入ViewController.swift页面,如果用户login。 这里是facebookLogin.swift代码: import UIKit import FBSDKCoreKit import FBSDKLoginKit class facebookLogin: UIViewController, FBSDKLoginButtonDelegate { var loginStatus = false; @IBOutlet weak var facebookOutlet: UIButton! override func viewDidLoad() { super.viewDidLoad() super.viewDidLoad() let loginButton = FBSDKLoginButton() view.addSubview(loginButton) loginButton.center = view.center loginButton.delegate = self; loginButton.readPermissions = ["email","public_profile"] } @IBAction func facebookAction(_ sender: Any) { customFBLogin() if (FBSDKAccessToken.current() != […]

点击泄漏指示器button后如何去第二个视图控制器

我想从mapview中删除现有的注释。 Scenerio是点击现有的注释标注部分(revealindicatorbutton),它会引导用户到另一个视图控制器,并显示一个button,您可以删除选定的注释。 其实,我正在努力创build完全相同的谷歌地图应用程序,这是我现在挣扎的一部分。 任何帮助,将不胜感激!

期望的声明错误为获得高分

我正在尝试做一个小游戏,现在我想让它有可能看到游戏的高分。 在第一个UIViewController (viewcontroller1)中,您可以看到分数( UILabel称为ourScore),分数与( var score: String! )一起工作。 评分已连接到名为recentScore的另一个UIViewController (viewcontroller2)使用 override func prepareForSegue(segue: (UIStoryboardSegue!), sender: AnyObject!) { if (segue.identifier == "segueTest") { var svc = segue!.destinationViewController as! PointsViewController; } } 该分数将连接到另一个UIViewController (2)的另一个标签以查看最终分数。 现在我想让它也能看到高分。 目前高分在第一个UIViewController中的代码如下 let highscore = ourScore.text; NSUserDefaults.standardUserDefaults().setObject(highscore, forKey: "Highscore") NSUserDefaults.standardUserDefaults().synchronize() 而在另一个UIViewController它是: highSchore.text = NSUserDefaults.standardUserDefaults().stringForKey("Highscore") highScore目前是第二个UIViewController中应该显示高分的标签,在代码中出现错误 highSchore.text = NSUserDefaults.standardUserDefaults().stringForKey("Highscore") 在上面的行中,它说预期的声明 。 谢谢您的帮助!

如何发送一个NSString到另一个视图控制器

我有一个IBAction,当触发时在另一个视图控制器(APICallsViewController)中调用另一个方法。 我正在寻找也发送该方法一个NSString(消息) 这里是我的IBAction推送到APICallsViewController和NSString消息。 我的问题可能是如何在其他视图控制器的方法中获取该NSString的内容。 谢谢你的帮助 -(IBAction) someMethod{ APICallsViewController *apiViewController = [[APICallsViewController alloc] init]; [self.navigationController pushViewController:apiViewController animated:YES]; NSString *message = [NSString stringWithFormat:@"Check out %@", nameLb.text]; [apiViewController apiGraphUserCheckins]; [apiViewController release]; }