在将其进一步扩展到UIKit框架的实现中时,我试图了解协议(protocol)和委托(delegate)。据我了解stackoverflowpost委托(delegate)方法的名称通常包含Did、Should和Will。基于此,我假设在UIViewController.h中声明的-(void)viewDidLoad;是一个委托(delegate)方法,但是委托(delegate)方法是什么以及来自哪里?我查看了UIViewController的头文件,它只遵守NSCoding协议(protocol),这是一个死胡同。据我所知,UIViewController的父类(superclas
我有一个mapkit应用程序,我在其中创建了一个自定义标注View。我似乎无法更新View上的标签。这是我的设置:我有一个名为VendorAnnotation的自定义注释类,它具有5个字符串属性(电话和4个地址行)。VendorAnnotation对象将其rightCalloutAccessoryView设置为UIButton。在委托(delegate)方法中:`(void)mapView:(MKMapVIew*)mapViewannotationView:(MKAnnotationView*)viewcalloutAccessroyControlTapped:(UIControl*)
在我的应用程序中,我使用UINavigationController在许多不同的UIViewController之间切换。唯一的问题是,对于我的一个View,在加载它时,我必须进行大量自定义(数据访问和图形,两者都必须在代码中完成)。按下ViewController时,动画非常不稳定,因为手机被迫同时为过渡设置动画并设置View。加载View后设置View不是一个选项,因此是否可以在之前它被推送/呈现?编辑:让我稍微修改一下我的问题。我发现如果我使用[selfpresentModalViewController:animated:]呈现ViewController而不是用导航Contr
我有一个包含三个选项卡的基于选项卡栏的应用程序。现在,当设备从纵向旋转到横向时,它应该加载不同的UIViewController并且当应用程序模式从横向更改回纵向模式时,应该再次显示标签栏Controller。如何做到这一点? 最佳答案 我猜你可以用下面的方法解决这个问题。由于您有两个位于同一层级的不同ViewController,因此有一个ViewController是有意义的,它管理这两个ViewController并根据方向显示相应的ViewController。肖像窗口MyRootViewController(UIViewC
我试图在一个UIViewController调用另一个之后很快关闭。它应该很简单,但我没有成功。我正在使用以下方法:-(IBAction)bClose:(id)sender{iTest*test=[[iTestalloc]initWithNibName:@"iTest"bundle:[NSBundlemainBundle]];test.modalTransitionStyle=UIModalTransitionStyleFlipHorizontal;[selfpresentModalViewController:testanimated:YES];[testrelease];[self
我最近才开始使用MonoTouch进行iOS开发,但在启动应用程序时出现以下错误:[UITableViewControllerloadView]loadedthe"SectionTableViewControler"nibbutdidn'tgetaUITableView这是在我将“ViewController”更改为从UITableViewController而不是UIViewController继承之后开始的。为了解决这个问题,我进入了Xcode4并将UITableView放在“表单”上,还通过拖放h文件为UITableView创建了一个导出。如何将UIViewControlle
我有一个用XIB初始化的iPhoneViewController。如果在出现内存警告时ViewController的View不可见,它将其View设置为nil(释放它)。但是当一个重叠的View被关闭并且被清除的View再次变得可见时,Cocoa不会从XIB重新加载它;它只是创建一个空白的。这会留下一个空白的白屏和一个损坏的应用程序。UIViewController的loadView方法的Apple文档说,“如果ViewController有一个关联的nib文件,这个方法从nib文件加载View。如果ViewController有一个关联的nib文件,nibName属性返回一个非零值。
我不知道如何刷新ViewController,我搜索了所有谷歌和这个网站,我卡住了。我的简单应用程序基于Storyboard,它从UITabBarController开始,我希望它在每次从另一个ViewController更改设置时刷新。这意味着我必须使用TabBar项目,一个是(带有标签的主视图)另一个是(设置)是否有一种简单的方法可以做到这一点? 最佳答案 你可以在settings的NSUserDefaults中保存改变的数据,然后当回到主视图时,在-(void)viewWillAppear:(BOOL)animated:方法中
我在多个地方读到,一次只有一个UIViewController应该出现在屏幕上。但我不太明白如何完成我需要的东西。想象一下天气应用程序。有一个带有ScrollView的单个ViewController,向其中添加了多个View(天气面板)。想必这些都是由主UIViewController添加和管理的,它还负责滚动等。但想象一下,这些天气面板中的每一个都是一个CarView,每个都有关于特定类型汽车的数据,以及一些用于编辑该数据的控件。如果有一系列CarViewControllers,每个都有一个可以操作的Car属性,这不是很有意义吗?每个CarViewController将负责它的汽车
我有一个UIViewController,我小时候将它添加到另一个UIViewController。添加子项时,父项使用childVC.frame=....为我的子项设置框架,但这会破坏我的约束。我可以很容易地在IB中复制这个问题。创建一个UIViewController,将大小更改为“自由格式”并放弃状态栏(只是为了在视觉上看起来正确)。添加UIButton(或任何东西)和约束,使它们的大小相同(见下图)现在更改ViewController中顶层View的大小并观察会发生什么。它改变了我对我的约束。我希望我的按钮变大并且仍然保持原来的约束。如果您在屏幕中的iPhoneRetina3.