Ios 如何以编程方式设置WKInterfaceSlider的最大值和最小值?

Ios 如何以编程方式设置WKInterfaceSlider的最大值和最小值?,ios,objective-c,watchkit,Ios,Objective C,Watchkit,我知道可以通过属性检查器设置值。但是,滑块的范围需要根据来自服务器的数据进行更改。在这种情况下,无法对值进行硬编码。有没有办法通过编程方式设置它?表示无法通过编程方式更改WKInterfaceSlider的最小值和最大值这些只能在Interface Builder中设置 但是,从功能上来说,这并不重要,因为WKInterfaceSlider是一个可视的颜色条,当用户滚动数字皇冠时,它会充满颜色。通过编程,可以读回滑块的值,该值根据滑块的填充比例报告为介于最小值和最大值之间的数字。但是,滑块本身不

我知道可以通过属性检查器设置值。但是,滑块的范围需要根据来自服务器的数据进行更改。在这种情况下,无法对值进行硬编码。有没有办法通过编程方式设置它?

表示无法通过编程方式更改
WKInterfaceSlider
的最小值和最大值这些只能在Interface Builder中设置

但是,从功能上来说,这并不重要,因为
WKInterfaceSlider
是一个可视的颜色条,当用户滚动数字皇冠时,它会充满颜色。通过编程,可以读回滑块的值,该值根据滑块的填充比例报告为介于最小值和最大值之间的数字。但是,滑块本身不会向最终用户显示值

因此,只需将这些值存储在属性中并计算应用于从滑块返回的值的偏移量和乘数属性,就可以实现与更改滑块的最小值和最大值完全类似的功能

  • 在Interface Builder中创建一个滑块,最小值为0,最大值为100。(这些值实际上可以是任何值,但这是最简单的解决方案,因为这些值可以直接读取为百分比。)

  • 在WatchKit应用程序扩展中创建minimumValue和maximumValue属性

  • 计算作为
    (最大值-最小值)/100计算的乘数值

  • WKInterfaceSlider
    读取值时,只需将其计算为
    (WKInterfaceSliderValue*乘数)+最小值即可

  • 在任何时候,您都可以更改minimumValue和maximumValue属性,您将从4中获得所需的新范围内的值


    注意,还有一种方法可以使用该方法在最小值和最大值之间更改编程设置的步数。这不会影响上面的计算,但当然会影响滑块在该范围内返回给您的可能值

    你能提供服务器的响应吗?在什么情况下或者什么时候你想改变滑块值。显然,这不是公共API的一部分。也许你可以尝试类似于
    [滑块设置值:@(10)forKey:@“最大值”]
    @“最大值”
    的方法,但即使这样做有效,你的应用程序也可能因使用私有API而被苹果拒绝。