问题标签 [viewdidload]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
190 浏览

iphone - Apple 建议在“viewDidUnload”中清除对象的解释?

我会对任何可以提供更多关于以下 Apple 建议的信息的人感兴趣(在核心数据教程中找到)在“viewDidUnload”中删除对象。例如:

  • 为什么这很重要?释放一个 nil'ing 有什么不同?
  • 这是最佳做法吗/我没有这样做过,也没有看到我在我看过的一些 iPhone 示例代码中没有想到的?

代码:

0 投票
2 回答
602 浏览

iphone - iphone编程objective-c:viewDidLoad()执行

我的应用程序有一个带有 4 个视图控制器的 tabbarcontroller。

它在这里调用:

在打开应用程序以加载视图控制器而不仅仅是标签栏时,首先出现在标签栏中的视图控制器称为“主页”。有可能的?我希望调用主视图控制器中的 ViewDidLoad() 方法。谢谢

0 投票
2 回答
2155 浏览

uiview - UIScrollView 不会在 UIView 中显示

我的应用程序纯粹以编程方式在 UINavigationController 上方的 UITabBarController 上构建,它们都在我的 AppDelegate 中声明。在我的导航控制器中,我展示了一个 UIViewController,一个自定义类。这个自定义类应该在 UIScrollView 和 UIPageControl 中显示自定义 UIView。

这是我的问题:当我在没有声明self.view = [[UIView alloc] init](或类似内容)的情况下调用它时,
self.view似乎会创建一个EXC_BAD_ACCESS错误。我想知道这是否是-(void) loadView的问题,但似乎它会在-(void)viewDidLoad中产生相同的错误。所以我基本上不得不使用self.view = scrollView来显示我的滚动视图,考虑到[self.view addSubview:scrollView]产生了一个错误。我的 UIPageControl 应该一直停留在页面上,实际上是视图的另一部分,而不是 UIScrollView。所以我尝试添加这样的容器视图

代码:

不幸的是,我似乎根本没有得到任何结果,出现的只是一个空视图。但是,如果我添加 UILabel 或类似的,它会显示:

我的问题是:为什么我的 scrollView 没有出现在 UIView 容器中?

我注意到一些教程说 scrollView 必须有一个委托,我同意这个逻辑 - 但是当我在我的 CustomUIViewController 类而不是我的 AppDelegate 中时,我似乎无法找出我是如何设置该委托的。

0 投票
2 回答
321 浏览

iphone - 一个简单的 viewDidLoad 问题

我有一个UINavigationController带有 atabBarController和很多视图的应用程序。

我的两个主要视图,对应于两个选项卡,在MBProgressHUD加载数据时都显示得很好。这是由触发的,viewDidLoad并且只打算显示一次。来自服务器的后续刷新不使用MBProgressHUD.

问题是,viewDidLoad在某些情况下会再次被调用。我相信这是因为视图由于内存限制而被卸载,然后稍后重新加载,这触发了我只想在第一次运行的代码。

我的问题:如何确保仅在他们第一次加载视图时才调用它,而不是尝试在某处存储临时计数。我所有的解决方案似乎都非常骇人听闻。:)

谢谢!

0 投票
1 回答
285 浏览

iphone - 如何在 iphone 中重新启动应用程序?

我在 viewDidLoad 中有一个计时器,但是我想传递滑块分配的可变秒数,那么对于这种实现我应该怎么做呢?

我想我必须重新启动应用程序,还有其他解决方案吗,或者如何重新启动我的应用程序?

0 投票
1 回答
631 浏览

iphone - 从 web 服务获取用户特定数据以填充 UITableView

在用户登录到应用程序之后,我正在尝试使用来自 web 服务的特定用户(他的项目)的数据填充 UITableView。

例如:

目前,我的表在 viewDidLoad 方法中加载,所以问题是在构建表时用户尚未连接。

我已阅读有关 reloadData 方法的信息,但我不确定如何在用户登录后仅加载一次表。有人可以向我解释一下正确的程序是什么吗?

谢谢你的帮助,迈克尔

0 投票
3 回答
718 浏览

iphone - 在同一个视图中填充两个 UITableView

我在同一个视图中有 2 个 UITableView,我的问题是如何在viewDidLoad方法中用不同的数据填充它们?谢谢。

0 投票
1 回答
998 浏览

iphone - (iphone) UI 更新量大时如何显示活动指示器?

我试图在大量 UI 更新时显示活动指示器。

我最初的失败尝试是

  1. 在 view1 上显示活动指示器
  2. pushViewController(创建这个viewController的视图需要很长时间)
  3. 当view1的viewDidDisappear(当pushViewController的push动画发生时),隐藏activity indicator

问题是即使我在 pushViewController 之前确实调用了“显示活动指示器”,但由于在创建被推送的 viewController 的视图时发生了繁重的 UI,活动指示器没有显示。

我改变了策略如下,它有效,但我不明白为什么。

  1. 推视图控制器
  2. 在 viewController 的 viewDidLoad 处显示活动指示器
  3. 在 viewDidAppear 执行繁重的 UI 加载并隐藏指示器

我的印象是,第一种方法没有显示指示器的原因是由于 UI 处理繁重。
请参阅链接中的讨论。 (iphone) 在大量 ui 更新之前显示活动指示器

如果队列上的 UI 更新过多导致 UI 更新延迟(指示器未显示),为什么第二种方法会有所不同?

我知道只有在创建视图时才会调用 viewDidLoad 。
当视图实际显示在屏幕上时,会调用 viewDidAppear。(因此可以多次调用)

但是是否有根本的区别可以解释为什么使用 viewDidAppear 的第二种方法适用于我的情况?

除了所谓的主线程之外,还有没有 UI 更新线程?还是主线程是UI更新线程?

谢谢

0 投票
2 回答
1555 浏览

iphone - iOS Root View Controller 的 viewDidAppear:在启动画面 (Default.png) 仍在屏幕上时调用

在我的 iOS 应用程序中,我想在根视图控制器已经出现在屏幕上之后运行一系列操作。但是,iOS 应用程序似乎正在调用 viewDidAppear,而初始屏幕(即显示 Default.png 图像)仍在屏幕上并且在根视图控制器被布置在屏幕上之前。我也在 viewDidLoad 中尝试过相同的代码,并且遇到了同样的问题。我如何强制代码仅在根视图控制器实际在屏幕上运行时才运行?

0 投票
1 回答
846 浏览

iphone - UISwitch ViewDidLoad 设置为 On

我有一个 UISwitch,它在 CoreData 中将 BOOL 设置为 1 或 0。但是,当用户使用 Switch 加载视图时,核心数据会识别出 Switch 设置为 1(打开)但仍显示关闭。这是下面的代码。注意:当您进入和退出应用程序时,开关会正确显示,但如果您关闭手机,或者停止并启动iPhone模拟器,它会显示。有人可以帮忙吗?

“setSwtich”是 UISwitch 上的方法,“list”是 UISwitch 的名称,“indicator”是存储 BOOL 的核心数据事件属性。