问题标签 [viewdidappear]
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.
ios - iOS:在 viewDidLoad 中运行数据库查询只能工作一次
所以让我们看看我是否可以对我的问题写一个足够清晰的描述......
我正在为博物馆开发一个应用程序,用户可以通过 id 或扫描 qr 标签找到艺术品......一旦输入 id 或扫描标签,应用程序就会从搜索视图发送用户,到信息视图。信息视图从 SQLite 数据库收集有关艺术品的信息...
我的问题是,在信息视图中,我从数据库类中调用函数,如下所示:
而且我获取信息没有问题...工作正常...但我的问题是,如果我返回搜索视图并输入新 ID 或扫描新标签,则呼叫/搜索不会再次运行,因为视图仍在记忆中...
那么,我将如何去跑步
每次我进入视图...?
我尝试将它放在 viewDidAppear 中,但我收到 EXC_BAD_ACCESS 错误...
objective-c - [self dismissModalViewControllerAnimated:YES] 后如何上传 uiviewcontroller;
我有一个 uiviewcontroller,它在 NSUserDefault 中保存了一些 NSString。当我以这种方式回去时
到另一个必须使用保存在 NSUserDefault 中的 NSString 的 uiviewcontroller。在 viewWillApper 中,它会加载这个 nsstring。当我第一次启动应用程序时,它会正确加载数据,如果我从另一个视图返回。我能做些什么?
iphone - 调用 viewDidAppear 的不存在的视图控制器
我有一个导航控制器,可重复用于我的启动画面。每当我注销时,我都会将 navigationController 的 viewControllers 数组重置为单个启动画面。但是我得到了一些奇怪的行为。
脚步:
Splash 出现 - 模态显示,navigationController 与单个 Splash viewController 作为根选择“登录” - 登录视图推送到导航控制器
输入信息、提交、成功、关闭模态视图
浏览应用程序....然后再次注销
用新制作的 viewController (Splash) 替换 modal navigationController 的 viewControllers (当前为 Splash -> Sign In)。
呈现模态视图控制器
意外行为**
原始“登录”视图控制器的 viewDidAppear 方法被调用。
除了调用“登录”视图控制器的 viewDidAppear 之外,一切都正常。新的 Splash 出现了,我可以推送新的登录,没问题。一切照常进行。
我的 viewDidAppear 中有一个 NSNotificationCenter addObserver,所以这个额外的 viewDidAppear 被调用会抛出应用程序中的其他行为,这就是为什么我需要弄清楚它来自哪里并修复它。
回溯在错误的“viewDidAppear”处暂停
如果我在关闭它之前在 navigationController 中弹出ToRootViewController,这个问题就会消失。但是,如果我等待 0.5 秒并在 navigationController 已经关闭后关闭,问题仍然存在。理想情况下,我不想 popToRootViewController 在解雇时...
然后,当我在关闭之前调用 popToRootViewController 时,没有调用 viewDidDisappear 方法......现在,我有一个 hack 可以拍摄当前 viewController 堆栈的快照,替换它们,加载视图,然后遍历存储的控制器堆栈,撤消在 viewDidAppear 方法中运行的代码(NSNotification 的东西......)
iphone - UIViewController viewDidAppear - 因为它被推送或因为子视图被弹出?
在我的应用程序中,我有大约十几个不同的视图控制器,它们以不同的顺序被推入堆栈或从堆栈中弹出。当视图出现时(我正在使用viewDidAppear
方法),我需要确定这是因为该视图刚刚被推入堆栈还是因为它的子视图之一从堆栈中弹出。
我经历了这个问题:viewWillDisappear:确定视图控制器是被弹出还是显示子视图控制器
但我认为这对我帮助不大。请问有什么建议吗?
ios - viewDidAppear 在 iOS5 中调用了两次
我正在开发一个带有 UINavigatorController 的应用程序。我在第二个推送的 viewController 中使用方法 viewDidAppear 在外部服务器中查找信息。
好。虽然一开始在 iOS5 中运行良好,但我意识到 viewDidAppear 在 iOS4.3 中没有被调用,所以我将这段代码放在根目录中:
此后,该应用程序开始在 iOS4.3 中正常运行。但是,在 iOS5 中没有,因为它调用了两次 viewDidAppear (第一次被调用的那个和来自 的那个navigationController:didShowViewController:animated:
)
我应该怎么做才能只调用一次 viewDidAppear?
非常感谢你
iphone - 当我在 iOS 4.3 中调用 ViewDidAppear 时它不起作用?
我有一个包含四个 UIViewController 的 UITabBarController,当我想调用 viewDidAppear 时它不起作用。我不知道为什么这只发生在 iOS 4.3 上?
我最喜欢的 UIViewController:
iphone - ViewDidAppear 主页按钮
我有一个倒计时的计时器。在最近的测试中,我注意到如果我点击主页按钮并返回应用程序,计时器就会关闭(比应有的时间更少)。
我在测试中注意到 ViewDid 和 ViewWill Appear 在重新打开应用程序时不会触发。我知道:
触发,但是如何使其特定于处于活动状态的 viewController 的某些部分?
ios - 为 UINavigationController 制作自定义后退按钮
我正在为 iOS 4.2+ 开发一个应用程序。我将我的子类化为UINavigationController
插入两个UIImageView
并使导航栏看起来很自定义。一切都很好,但我有一个小问题。我创建了自定义UIBarButtonItem
并在我的视图控制器中放置了它们:
它也有效,但问题是要完成这项工作,我需要从以下位置调用它:
所以它只出现在动画之后,我可以在自定义按钮替换它之前 1 秒看到非自定义按钮。
(我尝试过,viewWillAppear
但导航栏中没有附加任何内容)
我想知道您是否有可以解决此问题的解决方案。
PS:我从不使用 IB,一切都是以编程方式制作的。
来自法国的感谢!
编辑1:这是没有显示任何内容的代码viewWillAppear
:
iphone - 使用 viewDidAppear 和 viewDidLoad 方法的异常行为
我试图在它们出现时更新我的一些视图,所以我自然地发现自己使用 viewDidAppear: 和 viewWillAppear: 方法。但是,我在使用这些方法时遇到了两个问题:
- 当我只实现其中一种方法时,我想要进行的更改并不完全存在,所以为了让一切正常工作,我用相同的代码实现了这两种方法。
- 即使在使用相同的代码实现这两种方法之后,更新视图内容时也会有 0.5 到 1 秒的延迟。
这是我定制的表格视图控制器的代码:
出于某种原因,我必须调用 reloadData 方法两次才能完全更新我的表格视图。
这是我定制的普通视图控制器的代码:
谢谢!
xcode4.3 - 在调用 segue ViewDidLoad 但未调用 ViewWillAppear 和 ViewDidAppear 之后
我在故事板中创建了一个名为“CreateGame”的 segue。并用我的 viewController 调用它来加载 CreateGameViewController,[self performSegueWithIdentifier:@"CreateGame" sender:nil]
但它不起作用。它在一段时间前工作,但突然它不工作了。
我查看了我的代码。我的
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
NSLog(@"Segue");
}
每次我调用时都在执行[self performSegueWithIdentifier:@"CreateGame" sender:nil]
,然后执行 CreateGameViewController "viewDidLoad"
(符合使用 NSLog(); 语句)。ViewWillApper
但是没有调用CreateGameViewController 。
我正在使用 NavigationController 所以 segue 的类型是“推送”。有时segue有效,有时无效。请帮帮我。