0

我正在创建一个ios 应用程序,其中窗口包含一个滑块。我使用滑块来显示已经设置的特定值,即用户不应手动更改该值。我创建的滑块如下

var slider = Ti.UI.createSlider({
    min : 0,
    max : 60,
    width : '60%',
    height: 40,
    value : 25,
    enabled : false,
    disabledLeftTrackImage : 'slider.png'
});

在这里,用户无法更改滑块值,因为我已经设置了enabled : false. 但是当我这样做时,图像会变得模糊(图像中的滑块 2)。我希望它像第一个一样,用户不应该手动更改滑块值。有可能吗?有没有其他方法可以防止用户更改滑块值?谁能帮我?

滑块图像

4

4 回答 4

1

由于您设置enabledfalse,因此滑块会淡化以向用户显示它无法与之交互。正如 MaxGabriel 所说,在 Objective-C中设置userInteractionEnabled为等效的,没有褪色的滑块。NO根据这个链接,Titanium 中的等价物是在滑块上方添加一个透明层,这样用户的触摸就不会传递给滑块。这是链接中的代码。

var overlay_view = Ti.Ui.createView({
    height:'100%',
    width:'100%',
    top:0,
    left:0
})
win.add(overlay_view);
于 2013-01-10T07:34:52.200 回答
1

这肯定是不正确的 UI,为什么要使用用户无法交互的滑块?正确使用的是 Ti.UI.ProgressBar,否则 enabled:false 灰色行为是正确的,因此用户不会尝试摆弄它。

如果没有使用它的上下文,我不知道,但 UI 约定会建议上述内容。

于 2013-01-10T17:02:41.670 回答
0

在 Objective-C 中,我会将userInteractionEnabled属性设置为NO. 我想这翻译成userInteractionEnabled: false钛?

于 2013-01-10T07:26:21.823 回答
0

杰克先生的回答对我来说很好。但我从这里得到了更简单的方法。通过重置touchEnabled属性,如touchEnabled : false. 我在这里添加它作为答案,因为它对其他人有帮助!

var slider = Ti.UI.createSlider({
        min : 0,
        max : 60,
        width : '60%',
        height: 40,
        value : 25,
        touchEnabeld : false,
        leftTrackImage : 'slider.png'
});
于 2013-01-10T10:09:49.787 回答