可以在iPhone中为UISlider
控件设置最小值&最小值。因此,滑块将工作 - 好 - 好。滑动菜单 - iPhone滑动时获取UISlider指针的x坐标
首先,我将举一个我想要实现的例子。
- 在iPad中默认使用Calendar应用程序。
- 打开日历,在底部 - 您可以看到日/周/月清单
- 当您滑动手指时,滑动时会看到一个弹出式菜单。
- 我想在滑块上实现相同的功能。
我在努力,但是如果我能够得到x坐标,我可以很容易地实现它。任何其他建议都是最受欢迎的。
可以在iPhone中为UISlider
控件设置最小值&最小值。因此,滑块将工作 - 好 - 好。滑动菜单 - iPhone滑动时获取UISlider指针的x坐标
首先,我将举一个我想要实现的例子。
我在努力,但是如果我能够得到x坐标,我可以很容易地实现它。任何其他建议都是最受欢迎的。
从UILabel开始进行测试(只需在其中写入内容)并添加IBOulets以及UISlider。接下来,为滑块的“值已更改”添加一个IBAction。
然后,您需要计算两个值来确定应放置标签的位置 - 左侧调整和滑块每个值的像素。您的@interface
可能如下所示:
@interface sliderViewController : UIViewController {
IBOutlet UISlider *slider;
IBOutlet UILabel *label;
float pixelsPerValue;
float leftAdjust;
}
-(IBAction) sliderValueChanged:(id)sender;
@end
例如, viewDidLoad:对于你的视图控制器,你可以计算两个浮点数。
- (void)viewDidLoad {
float width = slider.frame.size.width;
pixelsPerValue = width/(slider.maximumValue - slider.minimumValue);
leftAdjust = slider.frame.origin.x;
[super viewDidLoad];
}
最后,您IBAction为可能是这样的:
-(IBAction) sliderValueChanged:(id)sender
{
NSLog(@"changed");
CGRect frame = label.frame;
frame.origin.x = leftAdjust + (pixelsPerValue * slider.value);
label.frame = frame;
}
希望有所帮助。
我不认为这个东西是用UISlider来实现的,但是你可以很容易地使用touch的x坐标。
在UISlider的操作中,您可以接受第二个参数。
-(void)action:(UISlider*)sender forEvent:(UIEvent*)event
// ^^^^^^^^^^^^^^^^^^^^^^^^
从UIEvent,你可以得到一个包含它的x,y坐标的UITouch。