Swift 中的无限 UIStepper

Vip*_*a74 0 ios uistepper swift

是否可以在 a 上设置无限最大值UIStepper?如果没有,除了没有计数限制之外,还有其他选择吗?

Dun*_*n C 5

AUIStepper使用 aDouble作为其maximumValue属性。将其设置为Double.greatestFiniteMagnitude.

\n

Double.greatestFiniteMagnitude不是无限的,但它确实非常巨大。(\xe2\x89\x881.80e+308)。

\n

编辑

\n

事实上,看起来你可以说

\n
stepper.maximumValue = Double.infinity\n
Run Code Online (Sandbox Code Playgroud)\n

这似乎有效。

\n

请注意,如果您的步长值不是很大,当您的值变得足够大以至于需要科学记数法来显示时,您将很难显示值的变化。另外,在非常大的数量级上,浮点数会失去精度。将非常大的双精度值增加 1 可能不会改变其值。

\n

编辑#2:

\n

我刚刚尝试过,如果你设置了

\n
stepper.maximumValue = Double.greatestFiniteMagnitude\n
Run Code Online (Sandbox Code Playgroud)\n

\n
stepper.value = Double.greatestFiniteMagnitude / 2\n
Run Code Online (Sandbox Code Playgroud)\n

理论上,当您点击+步进器上的 时(默认值为stepValue1),该值应该会发生变化。然而,在值为 时Double.greatestFiniteMagnitude/2,值 1 的变化太小,根本无法改变该值的尾数。默认 stepValue 为 1 时,当 stepper.value 为 时Double.greatestFiniteMagnitude / 2,点击步进器不会导致步进器值发生任何变化。

\n