Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何改变旋钮的旋转角度?网间网操作系统_Ios - Fatal编程技术网

Ios 如何改变旋钮的旋转角度?网间网操作系统

Ios 如何改变旋钮的旋转角度?网间网操作系统,ios,Ios,我使用此自定义控件:。 如何更改旋钮的旋转值(或角度) 谢谢你的回答。给定限制之间的角度值保持不变!看:我有 self.fmRotator.minimumDomain = 0.5* M_PI; self.fmRotator.maximumDomain = 2* M_PI; // if i set manually value instead of rotatorValue, for example: fmRotator.angle = (0.5f*M_PI+M_PI*rotatorVa

我使用此自定义控件:。 如何更改旋钮的旋转值(或角度)

谢谢你的回答。给定限制之间的角度值保持不变!看:我有

  self.fmRotator.minimumDomain = 0.5* M_PI;
  self.fmRotator.maximumDomain = 2* M_PI;

// if i set manually value instead of rotatorValue, for example:
fmRotator.angle = (0.5f*M_PI+M_PI*rotatorValue*1.5f); // it's work perfect;
//or 
rotatorValue = 5.0f/10.0f; 
fmRotator.angle = (0.5f*M_PI+M_PI*rotatorValue*1.5f); // work too.
//but
rotatorValue = mySlider.value; // UISlider, return from 0 to 1;
fmRotator.angle = (0.5f*M_PI+M_PI*rotatorValue*1.5f);
// rotatorValue is float between 0..1;
// doesn't work(
根据
的规定,角度
必须是介于
最小域
最大域
之间的值。唯一重要的是将
角度
值保持在给定限值之间。 在代码中,如果
myVariable
小于5.0,则不会发生任何事情。假设您使用的UISlider的值范围为(0..1.0,默认值),并且希望在-90到+90度之间旋转(-PI到PI)

您可以这样设置它:

myRotator.minimumDomain = -M_PI;
myRotator.maximumDomain = M_PI;

float newAngle = slider.value - 0.5; // translate value to -0.5 .. 0.5
myRotator.angle = newAngle * M_PI;
这是基础数学。只需找出所需的范围,并将滑块的值转换为目标域。或者,您可以设置滑块的最小值和最大值以匹配域。在这种情况下,您需要向设置中添加以下行:

slider.minimumValue = myRotator.minimumDomain;
slider.maximumValue = myRotator.maximumDomain;
事件处理程序将非常简单,如下所示:

myRotator.angle = slider.value;
[myRotator setNeedsDisplay];

它怎么不起作用?它去错位置了吗?不转弯?它会崩溃吗?你给它的值在0到2π之间吗?你检查过
newAngle
的值,看看它是否是你期望的值吗?谢谢你的回答。看:我已经添加了正确执行此操作所需的所有详细信息。[self.fmRotator setNeedsDisplay];-解决了的!!!!!!伟大的我把它加到了答案上。我希望你能接受。