所以我有一个奇怪的。
我目前在App Store中有一个清单应用程序。今天,用户在使用UISwitch
时报告了奇怪的行为。
如下所示,这是Storyboard
内部的一个简单开关,链接到IBAction,就像我一直以来所做的那样,从iOS 8开始。
您检查切换到on
,它会将图像更改为完整的alpha以表明您拥有它,否则图像保持半透明且off
。
- (IBAction)Switch1:(id)sender { //IBAction linked to Switch
if([S001 isOn]) { //if Switch 'S001' is ON...
myImage.alpha = 1.0; //make image NOT transparent
...
//save ON //save data using NSUserDefaults
}
else { //else switch is OFF...
myImage.alpha = 0.3; //make image TRANSPARENT
...
//save OFF //save data using NSUserDefaults
}
}
基本上,当用户按下开关时,它会动画并更改为ON
,但它会查看if([S001 isOn])
从未被调用,因为if
内部没有任何内容被调用。即图像不会变为完整的alpha,并且没有任何内容保存为ON。
用户在运行iOS 10.1.1
的iPhone 6上。现在奇怪的是我在iPhone 7+上运行iOS 10.1.1并且运行正常。它也适用于所有屏幕尺寸的iOS 9。
我已经完成了一些阅读,并在Stackoverflow上找到了THIS和THIS,看起来其他人遇到了类似的问题。
所以我猜测,如果人们在iOS 9中拥有我的应用程序,然后升级到iOS 10,那么当他们遇到此问题时,我无法确定。因为它似乎是一个独特的案例。
可能导致这种情况的原因是什么?我可以做些什么来改善我的iOS 10用户的IBAction?
答案 0 :(得分:1)
- (IBAction)Switch1:(UISwitch *)sender { //IBAction linked to Switch
if([sender isOn]) { //if Switch 'S001' is ON...
myImage.alpha = 1.0; //make image NOT transparent
...
//save ON //save data using NSUserDefaults
}
else { //else switch is OFF...
myImage.alpha = 0.3; //make image TRANSPARENT
...
//save OFF //save data using NSUserDefaults
}
}
试一试。这就是@rmaddy引用发件人的意思。
要确保在切换开关时调用此功能,请务必指定" Value Changed"创建操作时的事件(通过右键单击 - 将开关拖动到.m文件)