gpt4 book ai didi

ios - 按钮不改变位置

转载 作者:可可西里 更新时间:2023-11-01 01:03:22 25 4
gpt4 key购买 nike

我有一个家庭作业,我们需要一个“计时器”来计算这个点移动了多少次(它在计时器上运行,但它是一个整数)。我的教授给我们的源代码工作正常,但是当我将 updateTime() 调用添加到 moveButton() 调用时,它立即停止工作,只有计时器会运行,而不是两者都运行。

    func updateTimer (){
value = value + 1;
timerLabel.text = "Time: " + String(value);

if (value >= 20){
gameOver = true;
}
}

func moveButton(t:NSTimer){

if (!gameOver && !paused){

let aWidth = self.view.bounds.size.width;
let aHeight = self.view.bounds.size.height;
let btnX = random() % (Int)(aWidth-60);
let btnY = random() % (Int)(aHeight-60);
button.frame = CGRectMake(CGFloat(btnX), CGFloat(btnY), 30.0, 30.0);
updateTimer();
}



}

override func viewDidLoad() {
super.viewDidLoad()
srandom(arc4random());
timer = NSTimer.scheduledTimerWithTimeInterval(1.5, target: self, selector: Selector("moveButton:"), userInfo: nil, repeats: true)

}

如您所见,当 View 加载时它会启动计时器。计时器调用 moveButton(t:NSTimer) 最终调用 updateTimer() 方法。如果您删除 updateTimer() 方法调用,它将正常工作。所以我尝试一次删除 1 行以查看导致问题的原因,问题是将 timerLabel.text 设置为时间。为什么那会阻止点移动?为什么它不能更新标签文本并移动按钮?

最佳答案

  1. 将奥特莱斯添加到布局约束

如果您在 XCode 中打开 Split View,然后右键单击按钮上的约束(例如顶部约束),您可以按住右键单击并拖动到该按钮的 Controller 上。当您松开时,您将能够为该按钮创建一个约束导出。

从这里您可以添加或减去该约束以使用以下方式移动按钮:

constraintTop.constant = x
constraintLeft.constant = y

关于ios - 按钮不改变位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33488617/

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