【发布时间】:2016-01-03 09:24:58
【问题描述】:
我为我的应用添加了今天的扩展程序。我稍微编辑了原版小部件,使它看起来像这样:
请注意标题为“Went 1st”的 UIButton。当它被按下时(确切地说是在里面触摸),它会触发这个动作:
@IBAction func coinChanged(sender: UIButton) {
if sender.titleLabel?.text == "Went 1st" {
coin = true
sender.titleLabel!.text = "Went 2nd"
} else {
coin = false
sender.titleLabel!.text = "Went 1st"
}
}
它基本上在两种状态之间改变,相应地改变它的标题和一个变量。
这就是问题所在 - 当我按下它时,它确实改变了它的标题,但立即将它改回来,最终得到与最初相同的标题。我的第一个想法是按下后该动作被调用了两次,但是当我检查 print 时,我发现它只被调用了一次。有时 prints 甚至没有出现在控制台中,但那是另一回事。
所以,这是一个问题。不过,还有一个——当我按下按钮时,整个小部件都放错了位置。要了解我的意思,请查看第一张图片(即按下任何按钮之前的小部件),然后再查看这张图片(按下按钮后):
您可以看到边框现在位于 TodayView 的最边缘。作为参考,这里是第一个分段控件的约束:
编辑:以下是“Went 1st/2nd”按钮的限制条件: 编辑 2:如果您投了反对票,请务必告诉我有什么问题,这样我下次就可以避免犯同样的错误
【问题讨论】:
-
第二个bug很奇怪,你是不是设置了其他按钮属性。
-
不,没什么。我什至删除了按钮并从头开始制作,但这也无济于事。另请注意,没有其他按钮可以做到这一点,只有“Went 1st”。
标签: ios swift today-extension