Tag: uiviewcontroller

View Controller的基本生命周期

好的,这是View Controller的基本生命周期。 这是Apple的View Controller文档。 有一些不同的生命周期事件 – loadView 创建控制器管理的视图。 仅在创建视图控制器且仅以编程方式完成时才调用它。 – viewDidLoad 在控制器的视图加载到内存后调用。 仅在创建视图时调用。 – viewWillAppear 只要视图出现在屏幕上,就会调用它。 在此步骤中,视图已定义边界,但未应用方向。 – viewWillLayoutSubviews 调用以通知视图控制器其视图将要布局其子视图。 每次框架更改时都会调用此方法 – viewDidLayoutSubviews 调用以通知视图控制器其视图刚刚布置了其子视图。 视图布局其子视图后,请在此处进行其他更改。 – viewDidAppear 通知视图控制器其视图已添加到视图层次结构中。 – viewWillDisappear 在过渡到下一个视图控制器并且将源视图控制器从屏幕上移除之前,将调用此方法。 – viewDidDisappear 从屏幕中删除视图控制器后,将调用此方法。 通常,您可以重写此方法以停止视图控制器不在屏幕上时不应运行的任务。

一切……无处不在……

您是否曾经尝试过在项目中使用MVC,并且一直都在考虑故事板,NavigationController,Segue,ViewController和视图? 有时,您尝试将上述所有信息传递给模型,而您根本不想使用MVC。 但是幸运的是,SWIFT的功能足以为您解决这些问题。 故事板 我们必须在项目中声明的最重要的内容是Storyboard,这是您进行其余操作之前必不可少的。 我几乎在每个项目中都使用了SWIFT功能,但是您可以通过这些代码查找许多其他内容,也许您找到了您真正想要的东西。

如何通过发送TableView / CollectionView数据源函数来简化UIViewControllers。

如何通过发送TableView / CollectionView数据源函数来简化UIViewControllers。 我非常喜欢小型UIViewControllers。 我总是尝试寻找使我的ViewController尽可能精简的不同方法。 使ViewController变大的主要可能性之一是在View Controller中拧紧UITableView或UICollectionView数据源函数。 首先,了解视图控制器需要在表视图或集合视图中显示哪些数据是必需的。 绝对不需要。 相反,如果视图控制器仅将该工作交给另一个对象,情况将会如何。 这个对象负责有关表视图/集合视图的所有事情。 让我们用一些基本的例子来研究它。 感谢您阅读这个故事。 希望您喜欢这篇文章。 快乐编码!

iOS:在现有的UIViewController上添加一个UIViewController

我想制作一些popup式菜单。 我有一个VC,并希望另一个VCanimation,并显示在上面的第一个VC(第二个VC必须是一个小一点的屏幕,所以第一个VC必须可见)。 我读了关于提交VC的苹果文档 ,但是这不是我想要的。 给我一条前进的道路。 这一定是可能的,我觉得不是很难做到。 谢谢:)

使UIViewController从底部出现,然后隐藏它

我需要一个UIViewController从另一个视图控制器的底部出现。 我还需要用一个button来隐藏它,回到以前的视图控制器,而不用重新加载它。 可能吗?

这个类不是密钥拾取器的密钥值编码

我添加了一个视图到我的应用程序,我打开一个button,找不到我做错了什么。 我三重检查dataSource和委托连接到文件的所有者 *** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<HelpViewController 0xab58980> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key Picker.' 代码在我的viewcontroller.h @interface LanguageSelectionViewController : UIViewController { IBOutlet UILabel *label; IBOutlet UIPickerView *Picker; NSArray *PickerData; } @property (retain, nonatomic) IBOutlet UIPickerView *Picker; @property (retain, nonatomic) NSArray *PickerData; @end 任何人都有正确的方向解决scheme或提示?

在UIViewController中将UITableView作为容器视图embedded

我想添加一个textfield和发送button,粘贴到uitableview的底部类似于一个聊天应用程序。 我遇到过在UIViewController中embeddedUITableView作为容器视图的注释。 但是,他们似乎缺乏如何实现这一目标的例子。 更具体的细节包括在哪里添加文本框/button和键盘出现时向上移动文本字段,等等。谢谢!

获取容器VC而不是视图

我有点困惑容器如何工作。 我有容器: 而我尝试在我的MainViewControllerpipe理这个。 但是,当我控制 – 拖到我的.h文件我越来越 @property (weak, nonatomic) IBOutlet UIView *liveContainer; 为什么这是一个UIView类? 这意味着这是self.view我的BaseButtonContainerView ? 但我有BaseButtonContainerViewController ,并在debugging中,我看到viewDidLoad被调用。 我可以从MainViewController访问BaseButtonContainerViewController方法吗?

应用程序激活时更新uilabels

我试图做一些非常简单的事情:当应用程序从后台变为活动状态时,更新我的(一个且唯一的)视图控制器上的一些标签(用当前的时间来说明它的简单性(即使在我的情况下,我正在更新电话参数,如呼叫状态等,但这应该不重要))。 老实说,我确信,一旦我调用viewDidLoad ,这个方法中的代码再次运行,所以我所有的标签将是最新的。 但是这没有发生,除非我杀了应用程序并重新启动它,所以我在applicationDidBecomeActive的应用程序委托中做了什么,我调用了我的视图控制器方法: ViewController *vc = [[ViewController alloc] init]; [vc refreshCalls]; 哪个执行此代码,但标签没有任何反应。 当这样做的时候,我也显示一个UIAlertView ,它有更新的信息,但不是标签。 我怎样才能解决这个问题? 任何想法将非常感激。 这里是我的应用程序委托applicationDidBecomeActive方法: – (void)applicationDidBecomeActive:(UIApplication *)application { ViewController *vc = [[ViewController alloc] init]; [vc refreshCalls]; } 以及视图控制器中的refreshCalls方法: -(void) refreshCalls { NSDate *today = [NSDate date]; NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; // display in 12HR/24HR (ie 11:25PM or 23:25) format […]

IOS用xib文件inheritance一个UIViewController

我有这个问题: 在我的VCTemplate类(带.h,.m和.xib文件)中,我创build了我的基类模板(在我的项目中有很多类似的viewcontroller,只有一些内容是不同的。 在此之后,我已经在.xib文件中抹杀了一个UIWebView,一个UITabBar … 在这之后,我创build了从VCTemplateinheritance的新的viewcontroller: #import "VCTemplate.h" @interface VCFirstView : VCTemplate 和代码工作正常(一些函数编写的VCTemplate是好的,但接口不支持VCTemplate中创build的接口,考虑到我的VCFirstView只包含.h和.m,没有.xib文件 提前致谢