Tag: uiviewcontroller

poptorootviewcontroller不按顺序调用rootview控制器的dealloc方法和viewdidar方法

我有一个导航控制器与4个VC推入它。 我有一个委托属性的单身人士课程设置为位于堆栈顶部的VC。 我将这个委托设置为每个VC的dealloc方法中的零。 我在rootVC的viewdidappear方法中设置委托。 当我从第四个VCpopup回到根VC时,调用dealloc方法(栈中所有VC)和viewdidappear方法的顺序如下: "FirstVC dealloc called" "SecondVC dealloc called" "viewdidappear of root VC is called" "ThirdVC dealloc called" 现在,我面临的问题是委托被设置为零,即使我把它设置为自己在根VC的viewdidappear方法(这是从控制stream也可见)。 我怎样才能防止这种情况? 一旦所有的VC真的被释放,我想要调用viewdidappear方法。 谢谢,Obaid

PresentViewController是一个非全屏UIViewController,里面有UINavigationController

我想弄清楚是否有一种方法来呈现一个不是全屏的UIViewController。 它应该是自定义大小,而不是使用modalPresentationStyle可以实现的。 我想用UINavigationController创build一个像本地Twitter / Facebook共享表一样的视图,这样我就可以推送/popup更多的UIViewControllers。 它应该适用于iPhone和iPad。

iPhone开发:是否有可能扩展多个viewControllers?

在我的应用程序中,我想使用googleAnalytics。 要使用它,我必须扩展GAITrackedViewController,但问题是我已经扩展了GLKViewController,因为我的视图有一个openGL应用程序。 那么是否有可能扩展两个视图控制器的属性?

iOS – 使用UISwipeGestureRecognizer时,UIPageControl页面指示点不会更改

我正在使用UIPageControl和UISwipeGestureRecognizer在我的应用程序的2个视图控制器之间切换。 我修改了本教程而不使用滚动视图。 我有两个问题: 1)使用滑动手势正在改变视图控制器/页面,但不是指示当前页面的点。 我努力了 if (self.pageControl.currentPage == 0) { self.pageControl.currentPage = 1 } 但我不知道为什么它不起作用。 我有可用的sockets @property (strong, nonatomic) IBOutlet UIPageControl *pageControl; 2)我正在使用- (IBAction)changePage:(id)sender更改页面。 我想知道如何改变到一个点击某个点上的页面。 我的意思是说,点击点1,我应该去第一个视图控制器,点击点2,我应该导航到第二个视图控制器。

以无编程方式实例化UIViewController

我想创build一个UIViewController程序化,而不使用笔尖或故事板。 我认为这足以实现UIViewController为: class TestViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() //Add some setup code here, without it it should just be blank } } 使用let vc = TestViewController(nibName: nil, bundle: nil)或者只是TestViewController() 然后只是推它: navigationController?.pushViewController(vc, animated: true) 但它显示了一个透明的navigationController (上方的酒吧)(后面的UIWindow显示,我有一个多窗口设置)

iOS – 从其超类设置UIButton目标和操作

我有2类ClassA:UIView ClassB:UIViewController 我在ClassA中有一个UIButton 该button在标题中声明,并作为A的@属性 UIButton *selectBtn; } @property (nonatomic, strong) UIButton *selectBtn; 在A类的.m文件中,button被初始化并显示在屏幕上 ClassB导入ClassA的头文件,并从它我试图设置目标和我的button与下面的动作 [ClassA.selectBtn addTarget:self action:@selector(getSomething:) forControlEvents:UIControlEventTouchUpInside]; 但我不断收到一个错误消息,说“属性”selectBtn“找不到对象的types”ClassA“ 我究竟做错了什么 ? 任何帮助或指导,非常感激

从UIView ios推视图控制器

我有一个基于导航的应用程序。在第一个屏幕上点击导航栏上的一个button,我可以按如下方式推送另一个视图控制器: -(void) buttonClicked:(id)sender { UIViewController* mv = [[SecondViewController alloc] init]; [[self navigationController] pushViewController:mv animated:YES]; } 现在我有一个UIView(单独的.h和.m文件)作为第一个屏幕的一部分。 点击UIView中的一个button,我想推动SecondViewController。 我已经尝试了以下内容: UIViewController* mv = [[SecondViewController alloc] init]; UIViewController * home=[[FirstViewController alloc]init]; [[home navigationController] pushViewController:mv animated:YES]; 它不工作! 请帮助

在相同文件中的视图控制器之间传递Swift中的数据

为什么我不能将数据从一个视图控制器类传递到另一个视图控制器类,当他们在相同的.swift文件? 为了理解传递的数据,我已经完成了下面两个链接的教程,并且你们都为第二个视图控制器创build了另一个.swift文件。 当我跟着他们时,它确实有效。 当我做的一切都一样,但只是将class SecondViewController放在与FirstViewController class FirstViewController相同的.swift文件,它不起作用。 为什么? 我正在用三个视图控制器构build一个应用程序,如果可以,我宁愿把所有的代码保存在一个文件中。 这是为什么它不工作,或者它只是不好的forms? 教程: 如何从YouTube上的视图控制器(Swift:Xcode)传递数据 Sending之间的CodingExplorer上的Swift视图控制器 这工作: // ViewController.swift import UIKit class ViewController: UIViewController { @IBOutlet var TextField: UITextField! override func viewDidLoad() { super.viewDidLoad() } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() } override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { var DestViewController: ViewTwo = segue.destinationViewController as ViewTwo DestViewController.LabelText = TextField.text […]

Xcode Swift回到上一个viewController(TableViewController)

在我的TableviewController中,我有一个右上angular的栏button项目。 点击button后,会显示一个新的视图控制器。 在这个控制器中,我input一些数据到文本框并保存。 为了保存这些数据,我必须点击一个button,这也是一个右上angular的酒吧button项目。 但现在它委托我到我的应用程序的第一个视图控制器。 我做了什么,它委托我回到表视图控制器? 编辑: 当我使用下面的代码,该应用程序给我一个EXC_Breakpoint: (code=IEXC_386..)的错误EXC_Breakpoint: (code=IEXC_386..) ,它去视图控制器TeamOverviewController var vc = self.storyboard?.instantiateViewControllerWithIdentifier("TeamOverviewController") as ViewController self.navigationController?.popToViewController(vc, animated: true)

从NSObject提供一个UIViewController

在我的数据模型中发生了一些事情,我需要提供一个通过故事板实例化的模态视图控制器。 我怎样才能做到这一点? 我需要从一个NSObject提供一个模态VC,显然presentViewController是一个UIViewController方法。 什么是最好的方法来做到这一点? UIStoryboard *mainStoryboard = [(AppDelegate *) [[UIApplication sharedApplication] delegate] storyboard]; NewMessageListenPopupVC *popupVC = [mainStoryboard instantiateViewControllerWithIdentifier:@"NewMessageListenPopupVC"]; [self presentViewController:popupVC animated:YES completion:nil]; 编辑: 代码我可能会最终使用: UIStoryboard *mainStoryboard = [(AppDelegate *) [[UIApplication sharedApplication] delegate] storyboard]; NewMessageListenPopupVC *popupVC = [mainStoryboard instantiateViewControllerWithIdentifier:@"NewMessageListenPopupVC"]; UIViewController *rootVC = [[(AppDelegate *) [[UIApplication sharedApplication] delegate] window] rootViewController]; [rootVC presentViewController: popupVC animated:YES completion:nil];