Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/117.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 UISlider移动不平稳和/或重绘速度缓慢_Ios_Objective C_Uislider - Fatal编程技术网

Ios UISlider移动不平稳和/或重绘速度缓慢

Ios UISlider移动不平稳和/或重绘速度缓慢,ios,objective-c,uislider,Ios,Objective C,Uislider,我一直在写一个简单的华氏/摄氏转换器风格的应用程序。它在模拟器中运行良好,但当我在iPhone4上测试应用程序时,当我来回移动滑块时,它的更新速度非常缓慢 我的主视图控制器如下所示(删除了一些垃圾): gradeModel是NSMutableArray的一个NSMutableArray,其中包含NSString值。拖动滑块时,应读取阵列中的相应位置。然后应将其值设置为UILabels 我认为这应该是最简单的事情。UISlider的出口和操作已在情节提要中拖动 编辑:另外,当我在手机上运行应用程序

我一直在写一个简单的华氏/摄氏转换器风格的应用程序。它在模拟器中运行良好,但当我在iPhone4上测试应用程序时,当我来回移动滑块时,它的更新速度非常缓慢

我的主视图控制器如下所示(删除了一些垃圾):

gradeModel
NSMutableArray
的一个
NSMutableArray
,其中包含
NSString
值。拖动滑块时,应读取阵列中的相应位置。然后应将其值设置为UILabels

我认为这应该是最简单的事情。UISlider的出口和操作已在情节提要中拖动

编辑:另外,当我在手机上运行应用程序时,日志显示已使用滑块输入,但窗口不会以“可以这么说”的速度更新。例如,我将滑块从左向右移动,事件会显示在日志中,但标签会以0.5秒的延迟重新绘制

编辑:
[self.view setNeedsDisplay]被添加为强制重新绘制的测试。当该行被注释掉时,程序工作同样糟糕/缓慢

编辑:当我将sliderUpdate更改为:

-(IBAction)sliderUpdate:(UISlider*)sender
{
    float sliderValue = [sender value];
    int pos = sliderValue*10;
    NSString *strFromInt = [NSString stringWithFormat:@"%d",pos];

    [self.displayLeft setText:strFromInt];
    [self.displayRight setText:strFromInt];

}    

-我还没有从UISlider连接所有事件吗?我只将valueChanged设置为我的viewController的sliderInput(称为sliderUpdate)。

我的应用程序在iPhone 4上的UISlider也有同样的延迟问题,现在我已经开始瞄准iOS 7了

在iOS 6上,我的滑块在iPhone4上工作得非常好

同样的应用程序在我这里的4s和iPadMini上也能顺利运行

编辑

我刚刚发现,在我的应用程序中,当我为调试而构建和为发布而构建时,iOS 7下iPhone4上的UISlider性能有很大差异

我在滑块中进行了大量的日志记录-使用DLog而不是NSLog-DLog是一个宏,在调试模式下运行时扩展为NSLog,在发布模式下扩展为no op。因此,似乎是日志记录导致了滞后

检查是否有日志记录,并将其注释掉,或者,如果您使用的是Dlog,请尝试将方案更改为release,看看这是否解决了您的问题,看看这是否会产生影响

要更改为发布,请在Xcode菜单中查找产品方案(编辑方案)

让我的世界变得不同


这让我松了一口气

我的应用程序在iPhone4上的UISlider也有同样的延迟问题,现在我已经开始瞄准iOS7了

在iOS 6上,我的滑块在iPhone4上工作得非常好

同样的应用程序在我这里的4s和iPadMini上也能顺利运行

编辑

我刚刚发现,在我的应用程序中,当我为调试而构建和为发布而构建时,iOS 7下iPhone4上的UISlider性能有很大差异

我在滑块中进行了大量的日志记录-使用DLog而不是NSLog-DLog是一个宏,在调试模式下运行时扩展为NSLog,在发布模式下扩展为no op。因此,似乎是日志记录导致了滞后

检查是否有日志记录,并将其注释掉,或者,如果您使用的是Dlog,请尝试将方案更改为release,看看这是否解决了您的问题,看看这是否会产生影响

要更改为发布,请在Xcode菜单中查找产品方案(编辑方案)

让我的世界变得不同


这让我松了一口气

奇怪的是,我在iOS 11中仍然有这个。有人知道为什么会这样吗?奇怪的是我在iOS 11中仍然有这个。有人知道为什么会这样吗?
-(IBAction)sliderUpdate:(UISlider*)sender
{
    float sliderValue = [sender value];
    int pos = sliderValue*10;
    NSString *strFromInt = [NSString stringWithFormat:@"%d",pos];

    [self.displayLeft setText:strFromInt];
    [self.displayRight setText:strFromInt];

}