草庐IT

uiviewcontrollers

全部标签

objective-c - 在 UIViewController 中向 NSNotificationCenter 添加和删除观察者

查看各种Apple示例(例如AddMusic),我看到他们将观察者添加到viewDidLoad中的默认NSNotificationCenter,然后在中删除它们释放。这看起来很危险,因为可以多次调用viewDidLoad而无需调用dealloc。这会多次添加同一个观察者,导致处理程序被多次调用。一个解决方案是在viewDidUnload中也删除观察者,但这意味着同一个观察者可以在dealloc中第二次被删除,这看起来像一个潜在的问题。我错过了什么? 最佳答案 有很多关于以正确方式删除通知的讨论。例如:removeobserver-w

iphone - 以编程方式枚举 UIViewController 的传出 Segue

对于ViewController之间的iOS5导航,UIViewController类提供了[selfperformSegueWithIdentifier:@"MySegue"sender:sender]选择器。据推测,在幕后,Storyboard实现知道从任何ViewController传出的segue标识符列表,即[@"MySegue",@"MySegue2"]。有没有办法以编程方式访问此列表,以获取可传递给performSegueWithIdentifier的标识符? 最佳答案 这是一个未记录的行为,但是NSArray*seg

iphone - 以编程方式枚举 UIViewController 的传出 Segue

对于ViewController之间的iOS5导航,UIViewController类提供了[selfperformSegueWithIdentifier:@"MySegue"sender:sender]选择器。据推测,在幕后,Storyboard实现知道从任何ViewController传出的segue标识符列表,即[@"MySegue",@"MySegue2"]。有没有办法以编程方式访问此列表,以获取可传递给performSegueWithIdentifier的标识符? 最佳答案 这是一个未记录的行为,但是NSArray*seg

ios - 如何从弹出窗口中显示的 UIViewController 中找到 UIPopoverController?

使用UIViewController的实例,有什么方法可以找到用于呈现它的UIPopoverController?我还想首先找到显示UIPopoverController的UIViewController。我通常会使用委托(delegate)或其他类型的通知将信号从显示的ViewController发送到显示的ViewController,但在这种情况下,我试图创建一个可重用的自定义segue来关闭弹出窗口,然后继续前进到主视图中的另一个View。 最佳答案 你会认为这很简单(UIViewController甚至有一个私有(priv

ios - 如何从弹出窗口中显示的 UIViewController 中找到 UIPopoverController?

使用UIViewController的实例,有什么方法可以找到用于呈现它的UIPopoverController?我还想首先找到显示UIPopoverController的UIViewController。我通常会使用委托(delegate)或其他类型的通知将信号从显示的ViewController发送到显示的ViewController,但在这种情况下,我试图创建一个可重用的自定义segue来关闭弹出窗口,然后继续前进到主视图中的另一个View。 最佳答案 你会认为这很简单(UIViewController甚至有一个私有(priv

objective-c - 拆除 UIViewController 时是否总是调用 viewDidUnload 和 dealloc?

我想知道viewDidUnload和dealloc是否总是在UIViewController拆卸过程中连续调用。是否可以在我的ViewController上调用dealloc而无需先调用viewDidUnload?在任何一种情况下,如果我在这两种方法中安全地释放属性和保留引用,那么如果这两种方法都被调用就不会有问题——但我想知道是否有人确定或可以阐明拆卸过程。2012更新:值得注意的是,好像iOS6viewDidUnload已被弃用,应该用手动View拆卸代替如果需要在didReceiveMemoryWarning中。一篇关于新UIView/UIViewContoller和新行为及其对

objective-c - 拆除 UIViewController 时是否总是调用 viewDidUnload 和 dealloc?

我想知道viewDidUnload和dealloc是否总是在UIViewController拆卸过程中连续调用。是否可以在我的ViewController上调用dealloc而无需先调用viewDidUnload?在任何一种情况下,如果我在这两种方法中安全地释放属性和保留引用,那么如果这两种方法都被调用就不会有问题——但我想知道是否有人确定或可以阐明拆卸过程。2012更新:值得注意的是,好像iOS6viewDidUnload已被弃用,应该用手动View拆卸代替如果需要在didReceiveMemoryWarning中。一篇关于新UIView/UIViewContoller和新行为及其对

ios - UIViewController 动画停止工作

我的应用程序在iOS6中运行良好,但在一个未指定的即将发布的iOS版本中,由于NDA原因我无法命名,所有UIViewController过渡动画都停止工作。新View会立即出现。我不确定这个未指定的futureiOS版本是否是原因,因为我在iOS6中偶尔会看到这种情况。有时动画会开始工作一段时间然后不久就停止,这让我认为这是某种内存警告问题,但我的应用程序在大多数时间使用相当合理的~125MB内存。任何人都可以提供任何建议或调查的事情吗? 最佳答案 所描述的行为一直存在:如果您在后台线程上工作,然后调用UIKit方法,那么更新通常会

ios - UIViewController 动画停止工作

我的应用程序在iOS6中运行良好,但在一个未指定的即将发布的iOS版本中,由于NDA原因我无法命名,所有UIViewController过渡动画都停止工作。新View会立即出现。我不确定这个未指定的futureiOS版本是否是原因,因为我在iOS6中偶尔会看到这种情况。有时动画会开始工作一段时间然后不久就停止,这让我认为这是某种内存警告问题,但我的应用程序在大多数时间使用相当合理的~125MB内存。任何人都可以提供任何建议或调查的事情吗? 最佳答案 所描述的行为一直存在:如果您在后台线程上工作,然后调用UIKit方法,那么更新通常会

ios - 如何将图像放在 UIViewController 的导航栏中心?

我在UIViewController的viewDidLoad中使用了这段代码。我没有错误。图像存在。我得到背景但不是图像。图片是一种标志。if([self.navigationController.navigationBarrespondsToSelector:@selector(setBackgroundImage:forBarMetrics:)]){/*BackgroundofnavigationBar.*/UIImage*navigationBarImage=[UIImageimageNamed:@"01_navbar_portrait.png"];[self.navigatio