草庐IT

UiviewController

全部标签

cocoa-touch - View 逻辑应该放在 UIView 中还是(如果适用)它的 UIViewController 中?

我最近发现UIView应该只有UIViewController填充整个窗口(或者由另一个UIViewController管理,例如UINavigationController或UISplitViewController)。此引文来自UIViewController的文档:Youshouldnotuseviewcontrollerstomanageviewsthatfillonlyapartoftheirwindow—thatis,onlypartoftheareadefinedbytheapplicationcontentrectangle.Ifyouwanttohaveaninter

iphone - 自定义容器 View Controller

我想创建自己的容器ViewController,例如UINavigationController或UITabBarController。文档说我不应该那样做,但为什么不呢?导航和标签栏容器是很好的例子,说明这样的事情是可能的,而且效果很好。我也知道iPhone的屏幕很小,人们不应该被导航按钮等弄乱它,但在iPad上有很多空间,将它分成许多ViewController会给我们很好的机会。我感觉Apple还没有添加这样的API,但他们会的。几天前,他们添加了有关iPad专用Controller(是的,容器Controller)的文档,并将文本修改为不那么令人生畏的内容。无论如何...如果我

objective-c - View Controller Nav : reloading all tableViewCells created from parsed JSON when clicked 中的 iOS 刷新按钮

我有一个相当重要的概念性问题,很多人都问过,但没有一个现成的明确答案可以通过搜索找到。我的应用程序很简单:几行TableViewCells填充了来自已解析的JSON提要的数据。单击单元格时,该单元格的信息将传递给SecondViewController并显示。JSON提要也存储到.plist中,在互联网不可用的情况下,TableViewCells从.plist中填充。这一切都很好。但是,我最不需要的是FirstViewController顶部的刷新按钮,用于刷新JSON提要,以及表格中的所有单元格以及来自新变量的新数据。但是,我在实现时遇到了一个问题:我的原始JSON调用和填充单元格的

objective-c - UINavigationController 和 UIViewController 是如何工作的?

我正在学习UINavigationController和UIViewController。这是我构建的简单应用程序。请注意,我使用的是ARC。我的应用有一个导航Controller和两个ViewController(我们称它们为FirstViewController和SecondViewController)。当应用程序启动时,导航Controller将FirstViewController插入堆栈。在FirstViewController中,我有一个按钮,它在触摸时插入SecondViewController。这是一些代码。FirstViewController.m-(IBActio

ios - viewDidUnload 与 viewDidDisappear

我不明白什么时候应该在viewDidUnload和viewDidDisappear中实现某些东西。两者有什么区别?例如,当ViewController从View层次结构中移除时,我想发送一个NSNotification。在这两种方法之间,我从哪里发布通知重要吗?https://developer.apple.com/documentation/uikit/uiviewcontroller 最佳答案 这是引用苹果的文档:-viewDidUnload:-当出现低内存情况并且不需要当前ViewController的View时,系统可能会选

iphone - 在 iOS 上,为什么旋转后 View 框架的高度几乎保持不变?

在ViewController.m中,在iPad上,如果我们在点击事件处理程序中打印出View的框架高度:NSLog(@"Heightofmainviewis%f",self.view.frame.size.height);然后在纵向模式下,该值为1004(设备状态行为20像素,因此1024-20=1004),如果设备旋转到横向模式,我预计它约为768或748,但是打印的值实际上是1024。(更新:如果应用程序以横向模式启动,然后没有旋转,它也打印为1024)。为什么会这样,是否有经验法则期望得到748或768的值?(有不止一种方法吗?) 最佳答案

objective-c - 在子 Controller 中查看 Controller 帧大小

我正在实现UIViewcontroller遏制。在下面的示例中,我在根Controller中设置了子Controller的帧大小。subview显示为我设置的大小,但是当我检查它在container1中的边界时,它报告的大小与我设置的大小不同。根Controller(容器)-(void)viewDidLoad{[superviewDidLoad];self.containA=[[Container1alloc]init];self.containB=[[Container2alloc]init];self.containA.view.frame=CGRectMake(50,50,50,

ios - 如何进行 Facebook 风格转换

想要实现类似于facebook和许多其他应用程序中使用的ViewController转换,附上快照。它需要使用CoreAnimation框架还是在工具包中可用? 最佳答案 除非你想导入某人建议的第三部分框架,否则你必须使用CoreAnimation,但使用CoreAnimation非常简单,我建议你学习它,因为它非常强大。这是给你一个想法的最简单的方法。一旦你掌握了它,你就可以自己更好地构建它,以满足你的需要:在您的ViewController中有2个View:@interfaceyourViewController:UIViewC

ios - 全屏模态视图 Controller 显示在表单下

在根ViewController中,我正在全屏显示模态视图Controller。这在大多数情况下都很好用。我遇到的问题是当有另一个ModalViewController作为表单打开时。发生这种情况时,我的FullScreenVC会显示在表单后面。我该怎么办?基本上这个“DemoViewController”用作我的应用程序的屏幕保护程序。demoVideoController=newDemoVideoController(this){View={Frame=View.Bounds}};demoVideoController.ModalPresentationStyle=UIModalP

ios - ViewController 的导出 View 首先非零,然后从包加载时为零

我正在从带有initWithNibName:bundle:的包中加载一个UIViewController。如果我在它的viewDidLoad中设置断点,我可以看到它的view已设置。在InterfaceBuilder中查看About.xib时,我也可以看到这一点。然而,一旦第一次实际使用该View(根据我的应用程序的逻辑,在调用[self.navigationControllerpushViewController:viewControlleranimated:YES]时)我收到此错误:*Terminatingappduetouncaughtexception'NSInternalIn