草庐IT

ViewDidAppear

全部标签

ios - ViewDidAppear 不会在每次应用程序进入前台时执行

我正在使用Arduino板构建物联网应用程序并调用API来检查Arduino板的更新引脚值。当我从API收到更新时,我必须根据收到的数据将我的按钮颜色更新为红色或绿色。我第一次加载应用程序时它工作正常并且调用了viewDidAppear()。但是当我进入后台然后再次进入前台时,它不会被调用。我所知道的是,每次出现View时,它都必须运行函数内部的指令,但似乎并非如此。我试图将我的代码放在AppDelagateapplicationDidBecomeActive()中,但是因为我正在尝试更新我的View,而View还不存在,这给了我致命的打击发现错误为零。这是我在viewDidAppea

ios - viewDidAppear 和 viewDidLoad 初始化位置太晚了

我希望在加载应用程序时更新Storyboard中的UIView(并从Storyboard中实例化)。我需要以动态方式放置一些图标(界面构建器还不允许我这样做)。但是,如果我将我的代码放在viewDidAppear或viewDidLoad中,它似乎被调用得太晚了。这是View加载时前几秒或两秒发生的情况:然后稍后它会转到正确的位置(正如代码被调用的那样)。我的问题是我需要在哪里初始化这些对象的位置,这样它们就不会在一秒钟后捕捉到。viewDidLoad和viewDidAppear来不及了?为什么!?:)overridefuncviewDidAppear(animated:Bool){in

ios - viewDidAppear,还有当应用程序从后台返回时

我有一个UIView(“内容”),它是一个带有大红点的白色View。当应用首次启动时,我希望圆点淡入(仅半秒)。每当该View再次出现时(因此,用户已经在其他屏幕上并返回到该屏幕),我希望该点淡入。目前没问题overridefuncviewDidAppear(animated:Bool){content.fadeIn()}然而,每当应用程序进入后台,当用户将它带到前台(假设显示该View)时,我希望它淡入。我这样做funcweAreActive(notification:NSNotification){content.fadeIn()}funcweAreNotActive(notifi

ios - viewDidAppear 上的动画 View 无法正常工作 - Swift

我正在尝试让一个view从屏幕中心开始动画,在加载View1秒后离开屏幕。我遇到的问题是,在加载时view处于原始(正确)位置一毫秒后,它会捕捉到新位置并动画回到原始位置。我在viewDidLoad中有以下代码overridefuncviewDidAppear(animated:Bool){UIView.animateWithDuration(0.7,delay:1,options:.CurveEaseOut,animations:{varloadingViewFrame=self.loadingView.frameloadingViewFrame.origin.y+=600self.

ios - 我的 viewDidAppear 未在 View Controller 中调用

事实证明,我想做的是,当我来自3d快捷方式时,强制UITabBarController选择一个索引,如果我在标签栏viewDidAppear()问题是我的主要UIViewControllerEmbedded的viewDidAppear()没有被调用,如果我再次点击标签栏项目,那么如果它是叫。其余的驱动程序不会发生,我明白为什么它不是UITabBarController中项目列表中的第一个。标签栏Controller:(来了)overridefuncviewDidAppear(_animated:Bool){ifgoTasks{self.selectedIndex=0}elseifgoT

ios - 从 UnitTest 启动 ViewDidAppear

在UnitTest中激活ViewDidAppear:在回答我的问题之前,我知道有一个问题与这个问题非常相似(Unittestsdon'tcallviewDidAppearmethod),但它似乎并不能完全回答这个问题。我想知道如何最好地在viewController上激活viewDidAppear()以测试应该在该方法中发生的各种事情。我很确定直接调用viewDidAppear()是不好的做法;所以我想知道如何在测试中间接调用它。我已经遵循了Natasha的教程https://www.natashatherobot.com/ios-testing-view-controllers-sw

ios - 在当前上下文中以模态方式呈现时,在展开时,不会调用 viewDidAppear

我正在开发的应用程序有问题。XCode版本:9.2(9C40b)编程语言:Swift4应用的目标iOS版本:11.2场景:我有一个mainVC(ViewController),它调用模态呈现的secondaryVC。在secondaryVC中进行选择后,我按下UIButton通过展开转场返回到mainVC。在secondaryVC中,transition配置为“CrossDisolve”,Presentation配置为“OverCurrentContext”,以将前一个View视为背景(背景配置为50%不透明度):症状:在这种情况下,当通过展开转场返回时,viewDidAppear永远

ios - 为什么 viewDidAppear 没有调用?

importUIKitimportSwiftyDropboxclassNotesViewController:UIViewController,UITableViewDataSource,UITableViewDelegate,NotesviewDelegate{varuserText:[String]=[]@IBOutletweakvartableView:UITableView!overridefuncviewDidLoad(){super.viewDidLoad()print("ViewDidLoadNotesviewcontroller")}overridefuncviewWi

iOS 将 viewDidAppear 路由到 subview Controller ?

我将subviewController添加到父ViewController,一切都按预期工作,除了subviewController没有触发其通常的回调。例如,永远不会调用viewWillAppear(animated)之类的东西。我调查了一下,认为这可能是因为我没有分别在将subviewController添加到父ViewController之前和之后调用willMoveToParentViewController和didMoveToParentViewController。不幸的是,修复它没有任何区别。有谁知道我如何连接它以便在我执行addChildViewController和r

objective-c - Xcode 的自动布局仅在 viewDidAppear 中有效,这是非常有问题的

将我的项目升级到iOS6后,我意识到自动布局仅在viewDidAppear中有效,并且我的大部分代码都希望View的框架在viewDidLoad中可用。这个限制使非常好的自动布局功能对我来说几乎毫无用处。有什么建议可以帮助我使用自动布局吗?例如,有时开发人员需要根据自动布局选择放置特定subview的位置来调整有关subview的信息。在用户已经看到subview之前,开发人员无法确定它的最终位置。用户不应看到这些信息调整,而是一次性呈现最终结果。更具体地说:如果我想根据自动布局放置View的位置更改View中的图像怎么办?我无法查询该位置,然后在没有用户看到的情况下更改图像。