【问题标题】:Changing Default Behaviour of UISlider - No continuous sliding and Custom button更改 UISlider 的默认行为 - 没有连续滑动和自定义按钮
【发布时间】:2011-08-12 06:01:50
【问题描述】:

我想使用滑块来实现上述类型的用户界面...但是滑块应该只停在 3 个位置 1. 极右翼 2.极左 3.居中

是否有可能在 iPhone 中使用 UISlider 实现这种类型的 UI?我应该如何实现它??

编辑:

我想在 VB.NET 中实现与 TrackBar 相同的效果。 UISlider 可以吗???或者请向我推荐 iPhone 中除 SegmentedControl 之外的其他一些控件/代码...

编辑 2

int progressAsInt =(int)(slider.value + 0.5f);
NSString *newText =[[NSString alloc] initWithFormat:@"%d",progressAsInt];
sliderLabel.text = newText;

【问题讨论】:

  • 是的,它会...你有真正的问题吗?
  • 我应该如何使用 UISlider 仅实现 3 站
  • 幻灯片应该是自动化的?还是手动?

标签: iphone objective-c cocoa-touch xcode4 uislider


【解决方案1】:

查看 UISlider 的文档。您感兴趣的方法是 setMinimumTrackImage: forState: 和 setMaximumTrackImage: forState: 设置轨道,setThumbImage: forState: 为滑块拇指

为了让它停留在开头、中间或结尾,您的视图控制器应该在从滑块链接到的 valueChanged 方法中确定适当的值,然后使用 setValue:animated: 将滑块移动到适当的位置。因此,如果您的滑块从 0 变为 2,并且用户将其更改为 0.75,您假设这应该是 1 并将滑块值设置为该值。

另外 - 关闭连续属性或以上将不起作用。

【讨论】:

  • 我已经尝试过了,但我的滑块仍然不能用作轨迹栏...我还假设滑块的整数部分...但仍然无法实现代码..
  • 编辑问题以显示您的 valueChanged 实现,它可能有问题。
  • 您正在设置sliderLabel.text - 我不知道那是什么。您需要使用 [slider setValue:progressAsInt animated:YES];
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-05
  • 2017-06-14
  • 2018-11-22
  • 1970-01-01
  • 2019-07-06
  • 1970-01-01
相关资源
最近更新 更多