回答
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [touches anyObject];
if ([touch view] == v1)
{
CGPoint location = [touch locationInView:v1];
NSInteger i = location.x;
}
然后通过与V1的帧即如果V1帧x值= 50和我相乘得到XPOINT的百分比
尝试的UIView的touchesBegan功能= 5means 10%然后乘以滑块值的百分比值来改变滑块值
UISlider *slider = [[[UISlider alloc] init] autorelease];
…
滑块设置
…
UITapGestureRecognizer *gr = [[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(sliderTapped:)] autorelease];
[slider addGestureRecognizer:gr];
- (void)sliderTapped:(UIGestureRecognizer *)g {
UISlider* s = (UISlider*)g.view;
if (s.highlighted)
return; // tap on thumb, let slider deal with it
CGPoint pt = [g locationInView: s];
CGFloat percentage = pt.x/s.bounds.size.width;
CGFloat delta = percentage * (s.maximumValue - s.minimumValue);
CGFloat value = s.minimumValue + delta;
[s setValue:value animated:YES];
}
不要忘记为UIControlEventValueChanged发起事件:-) –
由于@DanVanWinkle声明不要忘记发生火灾控制事件,否则你的UI将更新,但你的后端不会。在sliderTapped结束时触发事件调用:[s sendActionsForControlEvents:UIControlEventValueChanged]; –
是否可以用UIControl的addTarget:action:forControlEvents:API做同样的事情? – rclai
- 1. 点击UISlider设置值
- 2. 可点击的UISlider
- 3. 在点击时更改属性值,然后再次点击更改
- 4. 当点击按钮时更改键值
- 5. 当点击屏幕时更改TextView值
- 6. 点击更改数组值
- 7. 当点击一个特定的图像时更改div的css
- 8. 使用Angular点击时更改特定图形的颜色
- 9. 敲击.js并点击更改值
- 10. 更改位置点击点
- 11. 在td点击更改按钮值
- 12. 在C#中点击更改listview值
- 13. 如何在点击时更改h1点击/使部分居中
- 14. 在特定时间后点击元素
- 15. 点击时在div内更改图片
- 16. 如何在点击时更改班级?
- 17. 在点击动作时更改变量
- 18. 在AngularJs中点击时更改班级
- 19. 点击特定的div文本点击
- 20. 从点击到点击更改事件
- 21. 在特定点击元素的超时时间内更改类别
- 22. JSP上点击更新特定记录
- 23. jquery点击更改组合值
- 24. 关于图片点击更改mysql值
- 25. 点击更改jQuery.cycle函数值
- 26. 点击更改无线电输入值
- 27. 用javascript点击更改选择值
- 28. 使用鼠标点击更改值pygame
- 29. 用jQuery点击更改文本值
- 30. 如何更改点击输入的值?
你有没有尝试过自己的东西? – Zoleas
我已经尝试过放置自定义按钮,但它不是正确的方式。我也尝试定义触地得分,并触摸滑块内部事件,但都不起作用。 – Ronak