gpt4 book ai didi

ipad - 为什么我的计时器可以在 iPad 模拟器上运行,但不能在 iPad 上运行?

转载 作者:行者123 更新时间:2023-11-29 13:50:50 28 4
gpt4 key购买 nike

我正在使用所有 UIKit,并且出于原型(prototype)设计的目的,我刚刚将所有逻辑插入了主 viewController。我在 viewDidLoad 中创建了一些 UIView,隐藏了一些,然后设置了一个 NStimer 以在 4 秒内取消隐藏隐藏的。这个计时器在模拟器中完美触发,但永远不会在 iPad 上触发。为什么会发生这种情况,我什至应该寻找什么?

这是我设置 View 和计时器的地方。

- (void)viewDidLoad {

[super viewDidLoad];

//snipped out long code that adds UIViews as subviews and runs fine
curtainView.hidden=YES;
questionLabel.hidden=YES;

[NSTimer scheduledTimerWithTimeInterval:4
target:self
selector:@selector(dropCurtain:)
userInfo:nil
repeats:NO];

[NSTimer scheduledTimerWithTimeInterval:5
target:self
selector:@selector(askQuestion:)
userInfo:nil
repeats:NO];

}

这是在第一个计时器启动时调用的函数。这不会在 iPad 上运行。

-(void)dropCurtain:(NSTimer *)timer{
curtainView.hidden=NO;
//curtainView.alpha=.5;
[self.view bringSubviewToFront:curtainView];
[self.view bringSubviewToFront:triesLabel];

最佳答案

您的回调可能不在主线程中调用,ui 更改调用仅在主线程中起作用。如果是这种情况,则有一个 nsobject 的方法可以在主线程中安排对选择器的调用,您可以从回调中调用它来操作 ui

(抱歉不在我工作的电脑附近)

关于ipad - 为什么我的计时器可以在 iPad 模拟器上运行,但不能在 iPad 上运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4511131/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com