1

我正在更新一个名为“ammo”的 UIProgressView。当我更新进度时,UIProgressView 会从 UIView 中消失,就像它被隐藏或移动到另一个视图后面一样。

代码

- (void)updateAmmo:(float) inputAmmo capacity:(float)inputCapacity{

   //Calculate the progress value
   float value = inputAmmo/inputCapacity;

   //If nothing has changed don’t update
   if(value != ammo.progress){
      [ammo setProgress:value];
   }
}

我检查过的东西

  • 检查它是否被隐藏。
  • 将 UIProgressView 带到了前面。
  • 试过 [ammo setProgress: ammo.progress-0.01]; 这也打破了它
  • 直接插入值有效 [ammo setProgress: 0.950000];
  • 尝试添加 [ammo setNeedsDisplay];

记录值提取

  • 2011-07-23 15:15:34.659 XXXXXXX[2399:207] 值 - 1.000000
  • 2011-07-23 15:15:34.659 XXXXXXX[2399:207] 值 - 0.950000
  • 2011-07-23 15:15:34.712 XXXXXXX[2399:207] 值 - 0.900000

提前感谢您的任何帮助。

4

1 回答 1

0

如果您使用 IB 进行进度创建结帐,请与他们联系。

我怀疑你的价值属性立即变为 0 或低于 0

        - (void)updateAmmo:(float) inputAmmo capacity:(float)inputCapacity{


            float value = inputAmmo/inputCapacity;




            if(value != [ammo progress]){
                [ammo setProgress:value];
            }
        }
于 2011-07-23T14:42:34.493 回答