【问题标题】:how to use the UISlider and how to set the slider on a particular values?如何使用 UISlider 以及如何在特定值上设置滑块?
【发布时间】:2014-09-23 16:34:18
【问题描述】:

我第一次使用 UIslider。 首先,如果值的范围是 0 到 10,我想知道如何获取滑块位置的值:

第二我希望我的滑块设置为 5 个不同的值。 比如1、2、3、4、5

滑块不应设置在标记值之间

【问题讨论】:

    标签: iphone objective-c ios xcode uislider


    【解决方案1】:

    首先你设置文本文件并将这个函数添加到代码中

    -(IBAction)changeSlider:(id)sender 
    {
        text_field .text= [[NSString alloc] initWithFormat:@" Value %d ", (int)slider.value];
    }
    

    【讨论】:

      【解决方案2】:

      我按照本教程进行操作,它非常有帮助,您可以在代码中设置一些变量,例如最大数量和每次滑块增加多少。链接:http://www.xprogress.com/post-35-uislider-tutorial-example-how-to-use-slider-in-iphone-sdk-xcode/

      【讨论】:

      • 另外,如果您从 xib 添加 UISlider,则取消选中“连续”按钮以获取离散值,例如 1、2、3、4 ..
      【解决方案3】:

      在这种情况下,我将 XCode 中的滑块设置为:0-3。但滑块值是浮动的:0.000 - 3.000。

      // **** Cylinder Volume Slider ****
      
      - (NSInteger) normalizeValueCylinderVolumeSlider:(float) value
      {
      NSInteger normalizedValue = 0;
      
      if (value>1.5)
      {
          if (value>2.5)
              normalizedValue = 3;
          else
              normalizedValue = 2;
      }
      else if (value>0.5)
          normalizedValue = 1;
      
      return normalizedValue;
      

      }

      - (IBAction)valueChangedCylinderVolumeSlider:(UISlider *)sender
      {
      float value = [sender value];
      NSInteger normalizedValue;
      
      // Step 1:
      
      normalizedValue = [self normalizeValueCylinderVolumeSlider:value];
      
      // Step 2:
      
      if (normalizedValue>value)
      {
          if ((normalizedValue-value)<0.3)
              sender.value = normalizedValue;
      }
      else if ((value-normalizedValue)<0.3)
          sender.value = normalizedValue;
      

      }

      - (IBAction)touchUpInsideCylinderVolumeSlider:(UISlider *)sender
      {
      float normalizedValue = 0;
      
      normalizedValue = [self normalizeValueCylinderVolumeSlider:[sender value]];
      
      sender.value = normalizedValue;
      

      }

      - (IBAction)touchUpOutsideCylinderVolumeSlider:(UISlider *)sender
      {
      float normalizedValue = 0;
      
      normalizedValue = [self normalizeValueCylinderVolumeSlider:[sender value]];
      
      sender.value = normalizedValue;
      

      }


      在 valueChanged 动作上,(步骤 1)我将值设置为刚性值:0、1、2、3。并且(步骤 2)如果滑块距离刚性值接近 0.3,我将滑块拇指粘贴到刚性值价值。

      在 touchUpInside 和 touchUpOutside 上,我重复 valueChanged 动作中的“第 1 步”代码,以修复拖动动作在摇杆范围之外结束的情况(“第 2 步”)的滑块值。


      最好将所有这些代码放在 Slider 的子类中。但这是我第一次尝试 iOS 开发。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-06-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多