范围滑块事件值更改

时间:2015-05-01 10:48:59

标签: ios objective-c

我有一个范围滑块UIControl类。在拖动时,为每个值调用report方法。我只希望在用户完成拖动时调用一次report方法。我被困在这段代码中请帮助。

[slider addTarget:self action:@selector(report:) forControlEvents:UIControlEventValueChanged];

获取更多信息 Range Slider WebService Call

3 个答案:

答案 0 :(得分:3)

$(function () { $.datepicker.setDefaults($.datepicker.regional['en']); $('.trans_date').datepicker({ dateFormat: 'dd/mm/yy', altField: '#transaction_date', altFormat: '@', firstDay: 1, changeYear: true, changeMonth: true, onSelect:function(){ alert(new Date(parseInt($("#transaction_date").val(), 10))); } }); }); 具有UISlider属性。将其设置为continuous,只有当用户抬起手指时才会收到回叫。 From the documentation

  

如果NO,滑块会连续向相关联的人发送更新事件   目标的行动方法。如果YES,则滑块仅发送操作事件   当用户释放滑块的拇指控件以设置最终时   值。

     

此属性的默认值为NO

答案 1 :(得分:0)

[slider addTarget:self action:@selector(report :) forControlEvents:UIControlTouchUpInside];

答案 2 :(得分:0)

所以,正如你自己在下面所说的那样(在一个非常简短的回答' :)),你可能想要捕捉事件UIControlEventTouchUpInside,它是在你的touchesEnded方法中发送的控制:

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
    [super touchesEnded:touches withEvent:event];
    [self sendActionsForControlEvents:UIControlEventTouchUpInside];


        trackingSlider = nil; //we are no longer tracking either slider
}

所以你可能想改变

[slider addTarget:self action:@selector(report:) forControlEvents:UIControlEventValueChanged];

[slider addTarget:self action:@selector(report:) forControlEvents:UIControlEventTouchUpInside];

我还没有对它进行测试,但我认为这应该是要走的路......

编辑:

与此同时,我已经对它进行了测试,这是可行的方法。得到一些正确答案的赞成票会很好,我不能等到最后能够对其他人的答案发表评论:))