iphone - 使用 UISlider 移动标签
<p><p>我有一个要求,我必须使用 UISlider 移动标签上的值。我试过这段代码</p>
<pre><code>;
- (void)dragMoving:(UIControl *)c withEvent:ev {
UITouch *touch = [ anyObject];
CGPoint touchPoint = ;
sliderLabe.frame = CGRectMake(touchPoint.x,250, 270, 40);
}
</code></pre>
<p>sliderLabel 就在 slider 下方,但是当我拖得更快时它会给我带来奇怪的结果,但如果我慢慢移动 muslider ,它会正常工作。</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>当 slider 移动时,它也在计算它的新值并调用 <code>valueChanged</code>。这可能会干扰您额外的 <code>UIControlEventTouchDragInside</code> 处理程序。</p>
<p>如果 <code>slider.continuous</code> 设置为 <code>YES</code>,您可以尝试将 label-moving-code 移动到 <code>valueChanged</code> 处理程序中。</p>
<p>当然触摸位置在这个方法中是未知的,所以需要从 slider 的其他属性中计算出来:<code>frame.origin.x</code>,<code>frame.size.width</code>, <code>minimumValue</code>、<code>maximumValue</code> 和 <code>value</code></p></p>
<p style="font-size: 20px;">关于iphone - 使用 UISlider 移动标签,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/10720249/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/10720249/
</a>
</p>
页:
[1]